「每日一问」数据库事务隔离级别有哪些?

Posted 万猫学社

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「每日一问」数据库事务隔离级别有哪些?相关的知识,希望对你有一定的参考价值。

未提交读

未提交读(Read Uncommitted)级别中,事务中的修改即使没有提交,对其他事务也是可见的。读取到了事务没有提交的数据,就被成为脏读(Dirty Read)。事务没有提交的数据是很“脏”的,被读取到会引起很多问题。

提交读

提交读(Read Committed)级别中,一个事务开始时,只能查询到其他的事务已经提交的修改。也就是说,一个事务从开始到提交之前,任何的修改对其他的事务都是不可见的。

可重复读

可重复读(Repeatable Read)级别中,保证了在同一个事务中多次读取同样记录的结果是一致的。即使多次读取之间有其他事务对其结果做了修改,同一个事务中多次读取的结果也是一致的。

可串行化

可串行化(Serializable)级别中,强制事务串行执行,是最高的隔离级别。在这个级别中会在读取的每一行上加锁,可能导致大量的超时和锁竞争问题,所以在实际应用中很少被用到。除非,非常需要确保数据一致性并且不要求高并发,可以采用可串行化级别。

参考答案

未提交读、提交读、可重复读、可串行化


以上是关于「每日一问」数据库事务隔离级别有哪些?的主要内容,如果未能解决你的问题,请参考以下文章

每日一问-常见MySQL面试问题3

简述mysql的事务隔离级别都有哪些

图文并茂-数据库常用的事务隔离级别都有哪些?都是什么原理?

数据库隔离级别有哪些,各自的含义是什么,MYSQL默认的隔离级别是是什么。

面经面试官问我:数据库中事务的隔离级别有哪些?各自有什么特点?然而。。。

MySQL的默认事务隔离级别是?