数据库事务隔离级别

2022/1/25 19:07:04

本文主要是介绍数据库事务隔离级别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一共四种,由低到高:Read uncommitted、Read Committed、Repeatable read、Serializable。在事务的并发操作中可能会出现读脏数据,不可重复读,幻读,序列化。


读未提交(最低级别,任何情况都无法保证),一个事务可以读取另一个未提交事务的数据。
读提交(可避免脏读),就是一个事务要等另外一个事务提交后才能读取数据。
重复读(可避免脏读和不可重复读),就是在开始读取数据时,不再允许修改数据的操作。
Serializable(可避免脏读、不可重复读、幻读),是最高的事务隔离级别,在该级别下,事务串行化顺序执行,可以避免脏读、不可重复读与幻读。但是该事务隔离级别效率低下,比较消耗数据库性能,一般不使用。


小tips:大多数数据库默认的事务隔离级别是Read committed,如Sql Server,Oracle。Mysql的默认隔离界别是Repeatable read。
小tips:隔离级别的设置只对当前链接有效。对于使用MySQL命令窗口而言,一个窗口就相当于一个链接,当前窗口设置的隔离级别只对当前窗口的事务有效;对于JDBC操作数据库来说,一个Connection对象相当于一个链接,而对于与Connection对象设置的隔离级别只对该Connection对象有效,与其他链接Connection对象无关。
小tips:设置数据库的隔离级别一定要是在开启事务之前。



这篇关于数据库事务隔离级别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程