跳至內容

悲觀並發控制

本頁使用了標題或全文手工轉換
維基百科,自由的百科全書

關係數據庫管理系統里,悲觀並發控制(又名「悲觀鎖」,Pessimistic Concurrency Control,縮寫「PCC」)是一種並發控制的方法。它可以阻止一個事務以影響其他用戶的方式來修改數據。如果一個事務執行的操作讀某行數據應用了鎖,那只有當這個事務把鎖釋放,其他事務才能夠執行與該鎖衝突的操作。

悲觀並發控制主要用於數據爭用激烈的環境,以及發生並發衝突時使用鎖保護數據的成本要低於回滾事務的成本的環境中。

優點與不足

悲觀並發控制實際上是「先取鎖再訪問」的保守策略,為數據處理的安全提供了保證。但是在效率方面,處理加鎖的機制會讓數據庫產生額外的開銷,還有增加產生死鎖的機會;另外,在只讀型事務處理中由於不會產生衝突,也沒必要使用鎖,這樣做只能增加系統負載;還有會降低了並行性,一個事務如果鎖定了某行數據,其他事務就必須等待該事務處理完才可以處理那行數據。

參考文獻

參見