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能消除碎片,本地管理的表空間對連續的碎片有自動處理的能力,但對不連續的碎片無能為力。
轉載:http://hi.baidu.com/lzytest/blog/item/2e482a38d3adc424b8998fba.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22630256/viewspace-1042983/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle中判斷欄位是否存在和新增表結構Oracle
- Oracle 調優確定存在問題的SQLOracleSQL
- [20201218]快速替代查詢dba_extents.txt
- latex 中的存在,任意, ξ 符號符號
- Find and Fix the Mismatch Between DBA_SEGMENTS and DBA_EXTENTS ViewsView
- Extract rows from a CORRUPT table creating ROWID from DBA_EXTENTS
- 使用 Kubernetes 的 5 個理由
- 使用 button 的 5 個理由
- 使用 BCI 的五個理由
- 選擇HHDESK的理由一
- 加入 ONES 的33個理由
- 發現dba_segments和dba_extents中統計段空間大小居然不一樣
- oracle 中的事務Oracle
- Oracle 中的exception——(Raise)OracleExceptionAI
- Oracle中的sql hintOracleSQL
- 使用Angular的8個理由 - SweetcodeAngular
- 10個學習Python的理由Python
- 選擇 .NET 的 n 個理由
- 在Spring 當中存在的八大模式Spring模式
- SQL Server中存在真正的“事務巢狀”SQLServer巢狀
- Curve 分散式儲存在 KubeSphere 中的實踐分散式
- Oracle中的B樹索引Oracle索引
- oracle樹中prior的用法Oracle
- 11、Oracle中的檢視Oracle
- 關於oracle中的undoOracle
- Linux中檢視指令碼程式是否存在的命令!Linux指令碼
- 如何快速解決網站中存在的Web漏洞?網站Web
- redis使用中存在的問題及如何避免(二)Redis
- redis使用中存在的問題及如何避免(一)Redis
- Async/Await替代Promise的6個理由AIPromise
- 阻止我買iPhone12的理由iPhone
- 企業使用CRM系統的理由
- oracle中的CURRVAL和NEXTVAL用法Oracle
- Oracle中的MD5加密Oracle加密
- Oracle中job的使用詳解Oracle
- Oracle 中的並行系列(一)Oracle並行
- ORACLE中%TYPE和%ROWTYPE的使用Oracle
- oracle中的條件語句Oracle
- Oracle中的for update 和 for update nowaitOracleAI