主页 > InnoDB存储引擎 > 事务隔离级别

事务隔离级别

小牛教程 InnoDB存储引擎 2021年07月08日
  ①事务有哪些隔离级别
  
  ​ 读未提交(read-uncommitted)RU
  
  ​ 读已提交(read-committed)RC
  
  ​ 可重复读(repeatable-read)RR
  
  ​ 可串行化(serializeable)
  
  ②查看隔离级别
  
  select @@tx_isolation;
  
  select @@transaction_isolation;
  
  select processlist_id,VARIABLE_VALUE from variables_by_thread,threads where variables_by_thread.thread_id=threads.thread_id and VARIABLE_NAME='tx_isolation';
  
  ③设置隔离级别
  
  set session transaction isolation level repeatable read;
  
  set global transaction isolation level read committed;
  
  配置文件:transaction_isolation=repeatable-read
  
  ④不同隔离级别下会产生什么隔离效果
  
  ​ 脏读:一个事务可以读取另一个并行的事务的脏页(未提交的update,delete,insert)
  
  ​ 不可重复读:一个事务可以读取另一个并行的事务的已提交的修改操作update
  
  ​ 幻读:一个事务可以读取另一个并行的事务的已提交的插入操作insert
  
  ​ 读未提交(read-uncommitted)RU
  
  ​ 产生脏读
  
  ​ 读已提交(read-committed)RC
  
  ​ 不会产生脏读,产生不可重复读;
  
  ​ 可重复读(repeatable-read)RR
  
  ​ 不会产生脏读,不会产生不可重复读;会产生幻读;
  
  ​ 可串行化(serializeable)读加锁,写加锁,读写冲突
  
  ​ 不会产生脏读,不会产生不可重复读;不会产生幻读;
广告位
标签: