日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle index contention,Index Contention等待

發布時間:2024/10/14 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle index contention,Index Contention等待 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

l表被刪除后的空間是可以被重用的, (pctused對表塊有影響,塊上刪除后的空間可以重用。pctfree給表塊未來的update留空間)

索引被刪除只加了刪除標記,不能被重用。(除非該葉子快的所有索引都被標記為刪除,即100% free的index block才能被放到freelist里面重用?;蛘唠m然不是全空的,但是后續插入的行與原來的行的索引值是同一個值或者同范圍。)

(pctused對索引塊沒有影響,因為索引記錄被刪除后的空間不能重用)

(pctfree對于索引塊實際不是給update留空間而是給insert留空間,索引update:是先刪除(加刪除標記)+insert插入(新的塊)。 而索引總是有序的,insert某值可能位于已有的塊中間(對于非右增長的))

過多的dml操作使得索引變得松散(rebuild)

l重建索引:

1,有可能會降低btree的level

2,松散的索引變得緊湊

lASSM(automatic segment space management)

段中的block的位圖只有這幾種: 0~25%, 25%~50%, 50%~75%,75%~100%。 沒有單獨標記100% free的位圖。

index 塊split時,要去search 75%~100%的塊, 找到后, 然后判斷是否full free block(只有100% free的空塊才能被用來做索引的分裂)。

l索引分裂的時候(無論是50-50,還是90-10),split進程找臨近空塊,在找到臨近的70%-100%的空塊之后,卻發現不能重用的原因有2個:????

1,可能這個塊不是100%free的,而是70% ~ <100% free的, 也就是找到的這個block上面還有幾行或者多行索引記錄,所以不能被重用來做split

2,可能這個塊上還有一些其它的active transaction,所以它重用不了。

而每次尋找空塊然后failed ,oracle就會增加這個統計指標: failed probes on index block reclamation

l對某些庫的index contention的時候伴隨出現的buffer gets增加的問題原因解釋:

---update * set * where (select * 。。。) ,有子查詢的這種dml, 會受兩方面的影響導致該類dml的buffer gets增加:

1,可能select子查詢受一致性讀的影響,讀cr block產生更多的buffer gets

2,可能索引找空塊, 隨著索引碎片的增加,它找空塊的次數也變多(找空塊本身也是一個事務,有可能成功也有可能會失敗回滾),從而產生更多的buffer gets。

---insert ** values (。。。) , 這種無子查詢的dml , 會受這個因素影響導致dml 的buffer gets增加:

2,可能索引找空塊, 隨著索引碎片的增加,它找空塊的次數也變多(找空塊本身也是一個事務,有可能成功也有可能會失敗回滾),從而產生更多的buffer gets。

來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/22818880/viewspace-2077100/,如需轉載,請注明出處,否則將追究法律責任。

總結

以上是生活随笔為你收集整理的oracle index contention,Index Contention等待的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。