本頁使用了標題或全文手工轉換

悲觀並發控制

維基百科,自由的百科全書
跳至導覽 跳至搜尋

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

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

優點與不足[編輯]

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

參考文獻[編輯]

參見[編輯]

數據庫管理系統(DBMS) 檢視 · 討論 · 編輯

概念
數據庫 · 數據模型 · 數據庫存儲結構英語Database storage structures · 關係 (數據庫) · 關係模型 · 分布式數據庫 · ACID ( 原子性英語Atomicity (database systems) · 一致性· 隔離性· 持久性英語Durability (database systems) ) · Null值
關係模型 · 數據庫規範化 · 數據庫完整性 · 實體完整性 · 參照完整性英語Referential integrity · 關係數據庫管理系統 
主鍵 · 外鍵 · 代理鍵 · 超鍵 · 候選鍵 

數據庫組件
觸發器 · 視圖 · 數據庫表 · 指標 (數據庫) · 事務日誌英語Transaction log · 數據庫事務 · 並發控制 · 樂觀鎖 · 悲觀鎖 · 數據庫索引 
存儲程序 · 資料庫分割英語Partition (database)

SQL
分類: 數據查詢語言(DQL) - 資料定義語言(DDL) - 資料操縱語言(DML) - 資料控制語言(DCL)
指令:SELECT · INSERT · UPDATE · MERGE · DELETE · JOIN · UNION英語Union (SQL) · CREATE · DROP · Begin work · COMMIT · ROLLBACK · TRUNCATE · ALTER
安全: SQL資料隱碼攻擊 · 參數化查詢

數據庫管理系統的實現

實現類型
關係數據庫 · 檔案型資料庫英語Flat file database · Deductive英語Deductive database · 維度化資料庫 · 階層式 · 圖形資料庫 · NoSQL· 對象數據庫 · 物件關聯式資料庫英語Object-relational database · Temporal · XML資料庫英語XML database

數據庫產品
對象型對比) · 關係型對比

數據庫組件
數據查詢語言 · 查詢最佳化器英語Query optimizer · 查詢計畫英語Query plan · 嵌入式SQL · ODBC · JDBC · OLE DB