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能消除碎片,本地管理的表空间对连续的碎片有自动处理的能力,但对不连续的碎片无能为力。

最新文章

  1. linux shell if
  2. one_person年轻的程序员
  3. opencv png和jpg的叠加
  4. Codeforces Round #243 (Div. 2) C. Sereja and Swaps
  5. 从零开始学习Node.js例子四 多页面实现数学运算
  6. 抓包工具Charles 【转】
  7. 再看.net本质(二)
  8. linux软中断与硬中断实现原理概述
  9. bzoj 2595 [Wc2008]游览计划(斯坦纳树)
  10. bzoj 1090 [SCOI2003]字符串折叠(区间DP)
  11. uva 1396 - Most Distant Point from the Sea
  12. 在linux系统下怎么安装两个nginx
  13. HDU 5044 离线LCA算法
  14. 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记
  15. sqlite数据库常用语句
  16. OpenAL
  17. HDOJ 1043 Eight(A* 搜索)
  18. DWR3.0框架入门(2) —— DWR的服务器推送
  19. centos 7 部署 open-falcon 0.2.0
  20. vue2.0 样式表引入的方法 css sass less

热门文章

  1. Swift入门篇-Hello World
  2. Android粘贴板的运用
  3. 【JSP】JSP向MySQL写入|读出中文数据——乱码问题
  4. 【DFS】NYOJ-325-zb的生日
  5. chrome console js多行输入
  6. System Services -> Memory Management -> About Memory Management
  7. 只用css实现“每列四行,加载完一列后数据自动填充到下一列”的效果
  8. Json::Value使用心得
  9. Perfect Service
  10. javascript AES加密 C#AES解密实现