mysql innodb存储引擎的事务隔离级别--

mysql innodb存储引擎的事务隔离级别--

ID:24723560

大小:53.00 KB

页数:3页

时间:2018-11-16

mysql innodb存储引擎的事务隔离级别--_第1页
mysql innodb存储引擎的事务隔离级别--_第2页
mysql innodb存储引擎的事务隔离级别--_第3页
资源描述:

《mysql innodb存储引擎的事务隔离级别--》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、MySQLInnoDB存储引擎的事务隔离级别>>  我们知道,在关系数据库标准中有四个事务隔离级别:  未提交读(ReadUnmitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据  提交读(Readmitted):只能读取到已经提交的数据。Oracle等多数数据库默认都是该级别  可重复读(RepeatedRead):可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻象读  串行读(Serializable):完全串行化的读,每次读都需要获得表级共享锁,

2、读写相互都会阻塞  查看InnoDB系统级别的事务隔离级别:mysql>SELECTglobal.tx_isolation;+-----------------------+

3、global.tx_isolation

4、+-----------------------+

5、REPEATABLE-READ   

6、+-----------------------+1roysql>SELECTtx_isolation;+-----------------+

7、tx_isolation 

8、+-----------------+

9、REPEATABLE-READ

10、

11、+-----------------+1roysql>setglobaltransactionisolationlevelreadmitted;  QueryOK,0roysql>setsessiontransactionisolationlevelreadmitted;  QueryOK,0roread),所谓幻象读,就是同一个事务内,多次select,可以读取到其他sessioninsert并已经mit的数据。下面是一个小的测试,证明InnoDB的可重复读隔离级别不会造成幻象读。测试涉及两个session,分别为session1和ses

12、sion2,隔离级别都是repeateableread,关闭automitmysql>selecttx_isolation;+-----------------+

13、tx_isolation 

14、+-----------------+

15、REPEATABLE-READ

16、+-----------------+1roysql>setautomit=off;  QueryOK,0roysql>createtabletest(iint)engine=innodb;  QueryOK,0roysql>insertintotestvalues(1)

17、;  QueryOK,1roysql>select*fromtest;  Emptyset(0.00sec)  session1提交事务  mysql>mit;  QueryOK,0roysql>select*fromtest;  Emptyset(0.00sec)  以上试验版本:mysql>selectversion();+-------------------------+

18、version()       

19、+-------------------------+

20、5.0.37-munity-nt-log

21、+---------

22、----------------+1rowinset(0.00sec)>>>>这篇文章来自..,。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。