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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

oracle中extents存在的理由

發布時間:2025/3/20 编程问答 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中extents存在的理由 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

extents的特性:
1:一個extent由相連的多個blocks組成,多個extents組成一個segment,
2:oracle在為segment分配空間時,是以extent為單位
因此extents帶來的好處:
1:空間分配、釋放效率將會提升
oracle建議一個segment的extents數量一般不要超過1024,而對于big table可能包含上千萬個block,如果沒有extent,那么oracle就要分配上千萬個block,而有了extent,只要分配上千個extents就行。extent表示大量的blocks效率很高,extent并不列出所有的block,而是列出起始兩個block(因為extent是聯系的,起始block就能定位一個extent),oracle分配空間的時間與extents的數目呈比例,與blocks數目沒有很大關系。同理,在釋放空間時,extent一樣可以提高操作的效率。
對字典管理的表空間,extent作用很明顯,如果沒有extent,數據字典中必須記錄各個block,如果big table占用上千萬個block,那么數據字典也會大量占用,假設數據字典會占用上百萬個block,分配或釋放這些big table時,還要對這些上百萬block的數據字典插入會刪除,豈不會額外添加很多工作,
2:全表掃描
在進行全表掃描時,利用extent包含聯系blocks的特性,可以一次讀出多個字段,這樣就能大大減少物理IO,極大提高掃描的效率。

every thing has two side
extent帶來的負面作用:
表空間碎片:
如果沒有extent,oracle在給segment分配空間時以block為單位,而block總是一樣大的,典型的8k,16k,這時每個block都可以得到利用。有了extent,extent就是最小的分配單元,而extent的大小并不總是相等的,假設開始的的三個segment都很小,extent也不大,例如10個blocks,如果第二個的segment釋放后,在中間的那個10block就空閑出來,但是如果以后segment都要求分配至少20個block的extent時,那么這10blocks的空閑空間就得不到利用,在極端情況下,表空間由1000個10block的空閑,但無法分配20block的extent。exp/imp能消除碎片,本地管理的表空間對連續的碎片有自動處理的能力,但對不連續的碎片無能為力。

總結

以上是生活随笔為你收集整理的oracle中extents存在的理由的全部內容,希望文章能夠幫你解決所遇到的問題。

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