mysql简记(二)
1.数据库的隔离级别
(1)脏读 (Dirty Reads) :
脏读是指在一个事务处理过程里读取了另一个未提交的事务中的数据。
文章图片
这个在多线程操作数据库的时候是很可怕的,应该避免
(2) 不可重复读 ( Non-repeatable Reads ):
不可重复读是指在对于数据库中的某个数据,一个事务范围内多次查询却返回了不同的数据值,这是由于在查询间隔,被另一个事务修改并提交了。
文章图片
(3) 虚读(幻读)
幻读和不可重复读都是读取了另一条已经提交的事务(这点就脏读不同),所不同的是不可重复读查询的都是同一个数据项,而幻读针对的是一批数据整体(比如数据的个数)。
文章图片
2.mySql数据库提供了四种隔离级别
(1)Serializable (串行化):可避免脏读、不可重复读、幻读的发生。
(2)Repeatable read (可重复读):可避免脏读、不可重复读的发生。
(3)Read committed (读已提交):可避免脏读的发生。
(4)Read uncommitted (读未提交):最低级别,任何情况都无法保证。
隔离级别从高到低,隔离级别越高,相对效率越低
【mysql简记(二)】mysql默认的使用的为Repeatable read (可重复读)不可避免幻读
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- 遇到一哭二闹三打滚的孩子,怎么办┃山伯教育
- 赢在人生六项精进二阶Day3复盘
- 2019年12月24日
- 陇上秋二|陇上秋二 罗敷媚
- 一百二十三夜,请嫁给我
- 迷失的世界(二十七)
- 我要我们在一起(二)
- 基于|基于 antd 风格的 element-table + pagination 的二次封装
- (二)ES6第一节变量(let|(二)ES6第一节变量(let,const)