Oracle 的併發與多版本

2021-06-16 11:18:59 字數 508 閱讀 2384

oracle的預設隔離級是快照(snapshot),寫入事務不會阻塞讀取事務,讀取事務可以獲取當前已提交值。db2預設是游標穩定性(cursor stability),寫入事務會阻塞讀取事務。

oracle對併發的支援不僅使用高效的鎖定,還實現了一種多版本體系結構,它提供了一種受控但高度併發的資料訪問。這裡的多版本指的是可以同時地物化多個版本的資料,這也是oracle提供讀一致性檢視的機制。多版本有乙個很好的***,即資料的讀取器(reader)絕對不會被資料的寫入器(writer)所阻塞。換句話說,寫不會阻塞讀。這是oracle與其他資料庫之間的乙個根本區別。    

預設情況下,oracle的讀一致性多版本檢視是應用與語句級的,即對應與每乙個查詢。也可以改為事務級的。資料庫中事務的基本作用是將資料庫從一種一致狀態轉變為另一種一種狀態。iso sql標準指定了多種事務隔離級別(transaction isolation level),這些隔離級別定義了乙個事務對其他事務做出的修改有多「敏感」。越是敏感,資料庫在應用執行的各個事務之間必須提供的隔離程度就越高

Oracle 的併發與多版本

oracle的預設隔離級是快照 snapshot 寫入事務不會阻塞讀取事務,讀取事務可以獲取當前已提交值。db2預設是游標穩定性 cursor stability 寫入事務會阻塞讀取事務。oracle對併發的支援不僅使用高效的鎖定,還實現了一種多版本體系結構,它提供了一種受控但高度併發的資料訪問。這...

Oracle併發與多版本控制

1.什麼是併發 2.事務隔離級別 2.1 read uncommitted 2.2 read committed 2.3 repetable read 2.4 serializable 2.5 read only 3.多版本讀一致性含義 4.寫一致性 1.多版本控制是指,oracle能同時物化多個版...

多版本併發控制

多版本併發控制,討論的不是指的乙個軟體同時發行多個版本怎麼進行管理的問題,而是mysql中的mvcc。mvcc,multiple version concurrent control,多版本併發控制。可以認為mvcc是行級鎖的乙個變種,但它在很多情況下避免了加鎖操作,因此開銷更低。雖然實現機制有所不...