- 一、事物
- 二、事物的ACID属性
- 三、并发问题
- 四、隔离级别
- 五、设置隔离级别
- 六、查看隔离级别
- 总结
一、事物
概述:一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。
二、事物的ACID属性- 原子性:捆绑式运行
- 一致性(consistency):必须使数据库从一个一致性状态变化到另外一个一致性状态。
- 隔离性:事物 *** 作不影响其他事物,各个事物之间不能互相干扰
- 持久性:事物一旦改变,对数据库中数据的改变就是永久性的
- 脏读:一个事务读取到了另外一个事务未提交的数据
- 不可重复读:同一个事务中,多次读取到的数据不一致
- 幻读:一个事务读取数据时,另外一个事务进行更新,导致第一个事务读取到了没有更新的数据
- read uncommitted:都不能避免
- read committed:可以避免脏读
- repeatable read:可以避免脏读、不可重复读和一部分幻读
- serializable:可以避免脏读、不可重复读和幻读
注意:隔离级别从小到大安全性越来越高,但是效率越来越低!!!!
五、设置隔离级别- set session|global transaction isolation level 隔离级别名;
- select @@tx_isolation;
总结
还有一个比较常考的面试题:
详情请转自这篇文章 数据库的三大范式
数据库的三大范式(是对在创建表的时候,对表的规范)
- 列的原子性
- 列与主键的相关性
- 每列都和主键列直接相关,而不是间接相关
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)