數據庫系統概論06-查詢處理&連接處理&事務&活鎖&死鎖&兩段鎖協議

查詢處理

分成4個階段:查詢分析、查詢檢查、查詢優化、查詢執行

全表掃描算法

索引掃描算法(B+樹索引或hash索引):效率高

連接處理

嵌套循環算法:按照數據塊讀入內存,分外層循環(表1),內層循環(表2)對比

排序-合併算法:按連接相同屬性先排序表一,取第一個掃描表2連接

索引連接算法:建立索引,查找相應的元組

hash join算法:把連接屬性作爲hash碼,劃分階段(創建階段:創建hash表)、試探階段(連接階段)

 

事務

用戶定義的一個數據庫操作序列。要麼全做,要麼都不做。

之前寫過關於事務的知識點,請點擊此處

BEGIN TRANSACTION;

COMMIT;

ROLLBACK;

 

活鎖

T1封鎖數據R,事務T2請求封鎖R,T2等待,T3請求封鎖R,T1釋放R封鎖之後批准T3請求,T2仍然等待....

T2永遠等待,這就是活鎖。

解決方法:先來先服務

死鎖

T1等待T2,T2等待T1,就是死鎖

解決方法:

(1)預防死鎖:一次封鎖法、順序封鎖法

(2)允許死鎖的發生,採取一定的手段定期診斷系統中有無死鎖,有就解除。超時法、等待圖法

 

兩段鎖協議

保證調度的可串行化,

事務分兩個階段:第一階段是獲得封鎖(擴展階段)、第二階段是釋放封鎖(收縮階段)

封鎖粒度:封鎖對象的大小

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章