事物的隔离级别
int Transaction_none=0,没有级别
int Transaction_read_uncommited=1;未提交读
int Transaction_read_commited=2;已提交度
int Transaction_repeatable_read=4;可重复读
int transaction_serializable=8;可序列化,不可并发
mysql默认隔离级别是4可重复读,oracle=2已提交读
隔离级别越高越安全,但是性能越低。
在执行事物时,隔离级别不同可能出现哪些?
数据丢失,脏读,可重复读,幻读
不同的事物的隔离级别可能出现的问题
0级别:数据丢失,脏读,不可重复读,幻读
1级别:脏读,不可重复读,幻读
2级别:不可重复读,幻读
4:幻读
8:无
数据丢失:
列如:张三给李四汇钱,张三钱减少了,但是李四钱没有增加
脏读
t1事物读取结果是100,t2事物对数据进行修改为200,但是t2事物并没有提交,t1事物再次读取数据是200,此时t1事物两次读取的数据是不一致的事务隔离级别,二t2事物并没有提交可能回滚,这样t1事物读取的数据就是不对的,造成脏读
不可重复读
t1事物读取结果是100,t2事物对数据进行修改为200,并且t2提交,t1事物再次读取数据是200,此时t1事物两次读取的数据是不一致的,数据不准确,可重复读和脏读的区别是一个是事物已经提交一个是未提交
幻读:
t1事物统计数据是100条,事物提交,t2事物插入事务隔离级别,修改,删除数据,事物提交
t3事物再次统计结果,与t1事物统计结果不一致,导致幻读,
注意:t1和t3是两个不同的事物
限时特惠:本站每日持续更新海量设计资源,一年会员只需29.9元,全站资源免费下载
站长微信:ziyuanshu688
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。