「每日一问」数据库事务隔离级别有哪些?
Posted 万猫学社
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「每日一问」数据库事务隔离级别有哪些?相关的知识,希望对你有一定的参考价值。
未提交读
在未提交读(Read Uncommitted)级别中,事务中的修改即使没有提交,对其他事务也是可见的。读取到了事务没有提交的数据,就被成为脏读(Dirty Read)。事务没有提交的数据是很“脏”的,被读取到会引起很多问题。
提交读
在提交读(Read Committed)级别中,一个事务开始时,只能查询到其他的事务已经提交的修改。也就是说,一个事务从开始到提交之前,任何的修改对其他的事务都是不可见的。
可重复读
在可重复读(Repeatable Read)级别中,保证了在同一个事务中多次读取同样记录的结果是一致的。即使多次读取之间有其他事务对其结果做了修改,同一个事务中多次读取的结果也是一致的。
可串行化
在可串行化(Serializable)级别中,强制事务串行执行,是最高的隔离级别。在这个级别中会在读取的每一行上加锁,可能导致大量的超时和锁竞争问题,所以在实际应用中很少被用到。除非,非常需要确保数据一致性并且不要求高并发,可以采用可串行化级别。
参考答案
未提交读、提交读、可重复读、可串行化
以上是关于「每日一问」数据库事务隔离级别有哪些?的主要内容,如果未能解决你的问题,请参考以下文章
数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么。