數據庫事務的隔離級別有4個,由低到高依次為Read uncommitted、Read committed、Repeatable read、Serializable,這四個級別可以逐個解決髒讀、不可重復讀、幻讀這幾類問題。
√: 可能出現 ×: 不會出現
髒讀 不可重復讀 幻讀 Read uncommitted √ √ √ Read committed × √ √ Repeatable read × × √ Serializable × × ×
注意:我們討論隔離級別的場景,主要是在多個事務並發的情況下,因此,接下來的講解都圍繞事務並發。
Serializable是最高的事務隔離級別,同時代價也花費最高,性能很低,一般很少使用,在該級別下,事務順序執行,不僅可以避免髒讀、不可重復讀,還避免了幻像讀。