[英]Differences between TRANSACTION's levels: READ WRITE and ISOLATION LEVEL SERIALIZABLE
這兩個事務級別之間的區別是: READ WRITE
和ISOLATION LEVEL SERIALIZABLE
? 據我了解, READ WRITE
允許臟讀,而ISOLATION LEVEL SERIALIZABLE
可以防止其他用戶更改數據(認為我在這里錯了),或者只是讀取在事務開始時可用的數據(看不到數據,在我進行交易時其他用戶已更改了該數據)。
您可以在oracle站點上找到有關此主題的詳細信息。
基本上, READ COMMITTED
允許“不可重復讀取”和“幻像讀取”,而SERIALIZABLE
均禁止。
如果允許不可重復讀取,則同一事務內部的同一SELECT查詢可能會根據發出查詢的時間返回不同的結果。 其他並行事務可能會更改數據,並且此更改在您的事務內部可能會變得可見。
如果允許幻像讀取,則可能發生以下情況:當您在一個事務中兩次發出相同的SELECT查詢,而另一個事務並行地將行插入表中時,這些行可能在事務內部可見,但僅在第二選擇。 因此,同一條select語句將在第一次執行時返回例如5
行,在第二次執行時返回10
行。
這兩個屬性是相似的,但第一個屬性僅說明可能更改的數據,而scond屬性則說明可能返回的其他行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.