数据库隔离级别
数据库隔离级别解决什么问题
- 脏读:一个事务读到另一个事务未提交的数据。
- 不可重复读:一个事务在两个不同时间读到的记录不一致
- 幻读:一个事务两次读取的记录数不一样
不可重复读和幻读的区别是:
不可重复读是由于update改变了记录,幻读是insert或delete改变了某个范围的记录数
数据库隔离级别:
读未提交:一个事务可读到另一个事务未提交的数据
读已提交:一个事务只能读到另一个事务已提交的数据
可重复读:一个事务两次读取的记录一致
串行化:将事务排序串行执行,一次执行一个事务
隔离级别 | 脏读 | 不可重复读 | 幻读 |
---|---|---|---|
读未提交 | 是 | 是 | 是 |
---- | ---- | ---- | --- |
读已提交 | 否 | 是 | 是 |
---- | ---- | ---- | --- |
可重复读 | 否 | 否 | 是 |
---- | ---- | ---- | --- |
串行化 | 否 | 否 | 否 |