为什么大多数公司采用MySql的事务隔离级别是RC?
发布时间:2021-11-24 02:05:26 所属栏目:动态 来源:互联网
导读:我们知道MySql的默认事务隔离级别是RR(可重复读),那么为什么大多数公司使用MySql时选择的事务隔离级别却是RC(读提交)呢? 一、事务隔离级别 数据库的事务隔离级别有读未提交、读提交、可重复读、串行化。其中在读未提交隔离级别下会存在脏读的问题,串行化
我们知道MySql的默认事务隔离级别是RR(可重复读),那么为什么大多数公司使用MySql时选择的事务隔离级别却是RC(读提交)呢? 一、事务隔离级别 数据库的事务隔离级别有读未提交、读提交、可重复读、串行化。其中在读未提交隔离级别下会存在脏读的问题,串行化执行效率低下,所以一般在读提交和可重复读两种隔离级别下选择。 读提交避免了脏读的现象,但没有解决幻读的问题;而可重复读解决了幻读的问题。 二、幻读 什么是幻读? 在一个事务中,前后两次查询同一范围(相同的查询SQL)的数据,返回的结果不一致,需要注意的是,不一致是指后一次查询的结果有前一次查询结果所没有的数据,也就是有新的数据被插入到这个范围中。而且幻读仅仅针对的是当前读,快照读是不会出现幻读。 看到上面对幻读的说明,一般都会有以下疑问: 两次查询的结果中的数据行是一样的,只是某些行的数据没修改了,比如某一行的字段被修改了,这种也算两次查询的结果不是完全一样,算不算幻读? 什么是当前读和快照读,两者有啥区别? 疑问1的情况不是幻读,是属于脏读,只有在读未提交隔离级别下才会发生。 (编辑:52站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐
热点阅读