0%

MySQL笔记[InnoDB]事务隔离级别

SQL标准定义的四种隔离级别是:
• READ UNCOMMITED
• READ COMMITED
• REPEATABLE READ
• SERIALIZABLE

InnoDB引擎的默认隔离级别是REPEATABLE READ,在next-key lock的算法下,因此避免了幻读的产生 ,因此,REPEATABLE READ级别已经保证了事务的隔离性要求,达到了SQL标准的SERIALIZABLE级别。

设置当前会话或全局的事务隔离级别:
SET [GLOBAL|SESSION] TRANSACTION ISOLATION LEVEL {READ UNCOMMITED|READ COMMITED|REPEATABLE READ|SERIALIZABLE}

如果想在mysqlf启动时设置,需要个性my.cnf文件,在[mysqld]加入一行:
[mysqld]
Transaction-isolation=READ-COMMITED

查看当前会话的隔离级别,用:
SELECT @@tx_isolation

查看全局事务隔离级别:
SELECT @@global.@@tx-isolation