oracle點陣圖索引對DML操作的影響
前段時間由於一張核心表中存在點陣圖索引,造成了嚴重而漫長的行鎖爭用(TX-row lock contention)。
經討論,終於將點陣圖索引改為了B樹索引。
該表以前只用於儲存歷史資料,因此點陣圖索引是合理的,但後來業務改造,也開始進行大量DML操作了,點陣圖索引的問題就暴露出來。
OLTP系統中是不適合使用點陣圖索引的,查閱了一下Tom的文章,擷取如下:
關於相同欄位上點陣圖索引和B樹索引的速度,兩者基本相同。由於點陣圖索引需要將點陣圖轉化為rowid,更消耗CPU,可能還會略慢一些。
問題b)Why Bitmap indexes do not update quickly? Is it only for update or any DML activities?
假如emp表中在更新僱員scott的資料時,job欄位建立有點陣圖索引,則scott的原職務和新職務對應資料都會被鎖住。
以下是模擬該問題的實驗截圖:
我分別在object_type、object_type2欄位建立B樹索引和點陣圖索引,並進行併發批量更新,後者遭遇了嚴重的行鎖爭用。
參考文件:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26451536/viewspace-2846604/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- unusable index對DML/QUERY的影響Index
- oracle全文索引之commit與DML操作Oracle索引MIT
- MySQL alter 新增列對dml影響MySql
- ORACLE 分割槽索引UNUSABLE導致的DML操作失敗引起的血案Oracle索引
- 點陣圖索引(轉載)索引
- 點陣圖索引的工作原理 - Richard索引
- Python點陣圖索引學習Python索引
- 修改系統時間對oracle的影響Oracle
- Oracle 檢視可以DML操作的條件Oracle
- 16、MySQL Case-索引key對select count(*)的影響MySql索引
- 修改主機時區對Oracle的影響分析Oracle
- 大數量的DML時對索引處理的技巧索引
- 新特性:/dev/shm對Oracle 11g的影響devOracle
- 磁碟排序對Oracle資料庫效能的影響PT排序Oracle資料庫
- 【Dataguard】Oracle多租戶環境對Dataguard的影響Oracle
- Oracle 11g 測試停庫對job的影響Oracle
- 資料庫聚簇索引——not null條件對唯一鍵索引成為聚簇索引的影響資料庫索引Null
- mysql的DDL操作對業務產生影響測試MySql
- 外來鍵沒有索引哪些DML操作會被阻塞索引
- 【TUNE_ORACLE】Oracle檢查點(四)檢查點對redo日誌的影響和redo日誌大小設定建議Oracle
- Oracle Parallel DMLOracleParallel
- 全面解析Js陣列遍歷對原陣列的影響及返回值JS陣列
- 對陣列的操作陣列
- 12張圖讀懂疫情對銀行業的影響行業
- 無索引的外來鍵之主表子表DML操作實驗及結論索引
- Oracle assm三級點陣圖結構解析OracleSSM
- 表資料量影響MySQL索引選擇MySql索引
- Oracle優化案例-select中to_clob對效能的影響(二十一)Oracle優化
- 【CURSOR】Oracle繫結變數、執行計劃對遊標的影響Oracle變數
- 測試修改作業系統時間&時區對oracle的影響作業系統Oracle
- 索引的知識要點與操作索引
- Nologging對恢復的影響(二)
- 語言對思維的影響
- Nologging對恢復的影響(一)
- Oracle多列統計資訊與直方圖對有關聯多列查詢影響Oracle直方圖
- 網線的分類與對網速的影響 網線對網速影響大嗎?
- 浮動的盒子對img的影響
- Oracle優化案例-統計資訊對執行計劃的影響(十三)Oracle優化