数据库事务的隔离级别简单总结

WBOY
Lepaskan: 2016-06-07 16:10:31
asal
1200 orang telah melayarinya

数据库中事务的隔离级别有四种,级别由低到高分别为:Read uncommitted、Read committed、 Repeatable read和Serializable 四种。这四个级别可以逐个解决脏读、不可重复读、幻读这几个问题。 如果当前隔离级别为Read uncommitted时,可能出现脏读,即可能读

数据库中事务的隔离级别有四种,级别由低到高分别为:Read uncommitted、Read committed、 Repeatable read和Serializable 四种。这四个级别可以逐个解决脏读、不可重复读、幻读这几个问题。

如果当前隔离级别为Read uncommitted时,可能出现脏读,即可能读到还未提交的临时写数据。

如果当前隔离级别为Read committed时,能够避免脏读,但可能造成不可重复读,即两个事务同时对同一个数据进行修改时,发生的数据一致性和完整性的破坏。大部分的数据库的默认级别都是Read committed,如SQL Server和Oracle。

如果当前隔离级别为Repeatable read时,可以避免不可重复读,即当前有两个及以上数量的事务读取同一数据时,数据库选择对第一个访问该数据的事务可读可写,对第二条及其后的事务为只读。尽管这样可以避免不可重复读,但是当事务A两次读取同一个数据时,如果期间有其他对数据库可读可写的事务对数据进行修改时,那么事务A两次读取数据得到的结果极有可能是不一致的,即造成了幻读。

Serializable序列化时数据库中最高级别的事务隔离级别,在该级别下,事务按照顺序执行,这样能够避免脏读、不可重复读和幻读,但所造成的花销大、性能低下。
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!