【正文】
交易與鎖定對(duì)效能的影響 許致學(xué) 胡百敬 (三 ) 大綱 ? 鎖定 ? 交易隔離層級(jí) ? 交易與錯(cuò)誤處理 ? 死結(jié) ? 收集資訊與分析 鎖定的資源 ? 鎖定資源形式 可鎖定的資源 呈現(xiàn)時(shí)的縮寫 編碼 呈現(xiàn)鎖定時(shí),描述該資源的方式 資料庫(kù) DB 2 資料庫(kù)代碼 (dbid 欄位 ) 檔案 FIL 3 檔案編號(hào) 索引 IDX 4 db_id:object_id:index_id [相關(guān)的其他資源 ] 資料表 TAB 5 資料表 ID (呈現(xiàn)在 ObjID 欄位 ) 分頁(yè) (Page) PAG 6 檔案編號(hào) :分頁(yè)編號(hào) Index Key KEY 7 6 位元組的雜湊值 (hash value) Index Key Range KEY 7 6 位元組的雜湊值 範(fàn)圍 (Extent) EXT 8 檔案編號(hào) :範(fàn)圍的第一個(gè)分頁(yè)編號(hào) 資料列 (Row) RID 9 檔案編號(hào) :分頁(yè)編號(hào) :Slot 編號(hào) 應(yīng)用程式 APP 10 6 位元組的雜湊值 鎖定模式 縮寫 編碼 說明 SchemaStability SchS 2 當(dāng)編譯查詢是使用 Schema Modification SchM 3 當(dāng)執(zhí)行與資料表 DDL 相關(guān)語(yǔ)法時(shí)使用 (例如:刪除資料表 ) Shared S 4 讀取時(shí)使用 Update U 5 轉(zhuǎn)換到寫入之前時(shí)使用 Exclusive X 6 寫入時(shí)使用 Intent Shared IS 7 較低的層級(jí)已經(jīng)或?qū)?huì)要求 shared lock(s) Intent Update IU 8 較低的層級(jí)已經(jīng)或?qū)?huì)要求 update lock(s) Intent Exclusive IX 9 較低的層級(jí)已經(jīng)或?qū)?huì)要求 exclusive lock(s) Shared Intent Update SIU 10 已有 shared lock 嘗試在較低的層級(jí)獲得 update lock Shared Intent Exclusive SIX 11 已有 shared lock嘗試在較低的層級(jí)獲得 exclusive lock Update Intent Exclusive UIX 12 已有 update lock 嘗試在較低的層級(jí)獲得 exclusive lock Bulk Update BU 13 當(dāng)嘗試 bulk copying 資料到資料表且定義了 TABLOCK 或者設(shè)定了資料表鎖定的選項(xiàng) 鎖定模式 意圖鎖定 ? 在某個(gè)資源放置鎖定前,需對(duì)存放該資源的更大範(fàn)圍設(shè)定 Intent XXX 鎖定 鎖定相容性 要提出的鎖定 IS S U IX SIX X SchS SchM BU IS Yes Yes Yes Yes Yes No Yes No No S Yes Yes Yes No No No Yes No No U Yes Yes No No No No Yes No No IX Yes No No Yes No No Yes No No SIX Yes No No No No No Yes No No X No No No No No No Yes No No SchS Yes Yes Yes Yes Yes Yes Yes No Yes SchM No No No No No No No No No BU No No No No No No Yes No Yes 已設(shè)定的鎖定模