首页 > 技术文章 > Mysql数据库的隔离级别

huangpeideng 2018-12-22 14:20 原文

Mysql数据库的隔离级别有四种

1.read umcommitted   读未提交(当前事务可以读取其他事务没提交的数据,会读取到脏数据)

2.read committed 读已提交(当前事务不能读取其他事务没提交的数据,只能读取其他事务已经提交的数据,但会出现每次读取的数据都会不同)

3.repeatable read 可重复读(当前事务不能读取其他事务没提交的数据,只能读取其他事务已经提交的数据,只会读取到当前事务开启时的数据状态,每次读取的数据都是一样的)

4.serilizable 串行化(事务串行化,当前事务要等待其他事务执行完毕才能执行操作)

 

查看数据库的隔离级别

1)select @@tx_isolation(全局的隔离级别)

例如:

  mysql> select @@tx_isolation;
       +----------------+
       | @@tx_isolation |
  +----------------+
  | SERIALIZABLE   |
  +----------------+

  1 row in set (0.00 sec)

2)select @@session。tx_isoaltion(当前会话的隔离级别)

修改数据库的隔离级别

1)set global transaction isolation level 隔离级别等级     (设置全局的隔离级别)

 

2)set session transaction isolation level 隔离级别等级     (设置会话的隔离级别)

 

推荐阅读