快照隔離

快照隔離 （ snapshot isolation ， SI ） 是數據庫事務處理中的一個隔離級別 ， 保證事務的讀操作將看到一個一致的數據庫的版本快照 （ 實際上讀取比該事務早的最後一次提交值 ） 。 該事務的寫操作成功提交 ， 僅當基於該快照的任何併發修改與該事務的修改沒有衝突 （ 即寫 - 寫衝突 ） 。 很多重要的數據庫管理系統已經採用了快照隔離 ， 如InterBase, Firebird, Oracle, MySQL, PostgreSQL,, MongoDB 與 Microsoft SQL Server ( 從2005 ) 。 原因是快照隔離比可串行性隔離級別的性能更好 ， 且能避免絕大多數併發異常 。 快照隔離一般用多版本併發控制 ( MVCC ) 實現 。 快照隔離避免了ISO SQL - 92所列舉的併發異常現象 ， 但不是SQL - 92定義的無併發異常的可串行化 。