ホームページ >データベース >mysql チュートリアル >MySQL中InnoDB存储引擎的事务隔离级别与事务处理_MySQL

MySQL中InnoDB存储引擎的事务隔离级别与事务处理_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-01 13:34:59972ブラウズ

bitsCN.com

MySQL中InnoDB存储引擎的事务隔离级别与事务处理

 

1、事务进行中,不得用set transaction命令更改隔离级别。但可以用set {global|session} transaction更改隔离级别。文档上说set transaction可以改变当前会话的下一个事务的隔离级别,实际测试发现不起做用。 

2、用set [{global|session}] tx_isolation={READ-COMMITTED|REPEATABLE-READ}改变事务隔离级别。 

 

3、read committed隔离级别,二进制日志必须为row格式,或者不启用二进制日志。 

 

4、autocommit为OFF时,上一个事务结束(rollback或commit)后,立即开启一个新的事务。事务的快照点,为事务中的第一条SQL语句(SELECT,DML)执行的时间点。

 

5、autocommit为ON时,每一个SQL语句(SELECT,DML)结束后,立即开启一个新的事务。事务的快照点,为事务中的(唯一的)SQL语句(SELECT,DML)执行的时间点。 

 

6、start transaction语句,立即开启一个新的事务。事务的快照点,为事务中的第一条SQL语句(SELECT,DML)执行的时间点。 

 

7、start transaction语句后,未执行commit或rollback来结束一个事务,再次执行start transaction语句,会隐式commit之前的事务,然后再开启一个新的事务。 

 

bitsCN.com
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。