悲觀並行控制

数据库术语

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

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

優點與不足

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

參考文獻

參見