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存在的理由相关推荐

  1. Oracle中的数据字典技术及常用数据字典总结

    一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行 ...

  2. oracle逻辑结构包含,在Oracle中,逻辑结构由哪几个部分组成?

    ♣答案部分 Oracle中逻辑结构包括表空间(TABLESPACE).段(SEGMENT).区(EXTENT)和块(BLOCK).数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由 ...

  3. oracle索引使用例子,Oracle中利用函数索引处理数据倾斜案例

    关于B-Tree.Bitmap.函数索引的相关内容请参考另一篇博文: Oracle中B-Tree.Bitmap和函数索引使用案例总结 通常来说,索引选取的数据列最好为分散度高.选择性好.从索引树结构的 ...

  4. oracle mssm,关于oracle 中的dmt_lmt_mssm_assm其间的关系

    在了解dmt和lmt之前,先来简单的熟悉一下oracle数据库的逻辑结构,逻辑结构描速起来非常简单:表空间是由段(segment)组成的,段是由范围(extent)组成的,范围是由连续的(block) ...

  5. oracle中删除yuj_oracle中可以使用drop、delete和truncate三个命令来删除数据库中的表...

    oracle中经常用到的删除语句主要有三种,分别是delete,truncate,drop. 1. delete和truncate都是删除表中的内容而不能删除表的结构,而drop则是删除表的结构和内容 ...

  6. Oracle中的保留字(关键字)

    字段名在oracle中和保留字冲突了,比如字段名称叫ID,比如字段名称叫sequence等,与oracle的关键字相冲突,这种的解决方法是, 使用字段名的时候前后加上``符号括起来,然后字段大小写要严 ...

  7. Oracle中的优化器--CBO和RBO

    Oracle中的优化器--CBO和RBO Oracle数据库中的优化器又叫查询优化器(Query Optimizer).它是SQL分析和执行的优化工具,它负责生成.制定SQL的执行计划.Oracle的 ...

  8. 【DB笔试面试682】在Oracle中,Undo段中区3种状态分别是什么(Undo表空间系列)?...

    ♣ 题目 部分 在Oracle中,Undo段中区3种状态分别是什么? ♣ 答案部分 Undo信息存储在Undo段中,Undo段又存储在Undo表空间中.Undo表空间仅用于Undo段(在Undo表空间 ...

  9. oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园

    1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...

最新文章

  1. 一键部署dns服务_OpenShift : 通往云原生、DevOps、微服务和Serverless的大门
  2. 【c语言】输入输出格式练习
  3. 044_CSS33D转换
  4. 论文笔记 Hierarchical Reinforcement Learning for Scarce Medical Resource Allocation
  5. ssh-add ssh-agent使用
  6. C陷阱与缺陷学习笔记
  7. 修改git commit默认触发的编辑器
  8. 非常精确的测试运行时间(比clock()更精确些)
  9. tensorflow独热编码方法_吴恩达课后作业学习2-week3-tensorflow learning-1-基本概念
  10. PHP OB-缓冲区
  11. ANSYS or Abaqus? 一个过来人的工作感悟
  12. 层次分析法(AHP)原理_例题应用及代码
  13. 保持numlock处于开启状态
  14. 【css默认设置】---- 关于CSS Reset 那些事(一)之 历史演变与Normalize.css
  15. 如何下载哔哩哔哩的视频
  16. 利用python构建马科维茨_Python_画马科维茨有效前沿
  17. java如何进行word文档的合并
  18. 红岭创投黑名单批量导入
  19. 联发科技嵌入式_联发科技2018校园招聘
  20. 详解广播域和冲突域的区别

热门文章

  1. BZOJ1299[LLH邀请赛]巧克力棒——Nim游戏+搜索
  2. (二)Python 学习第二天--爬5068动漫图库小案例
  3. 当年只会C# 所以写C++就成这样了! log4cplus - log4net
  4. 探索式软件测试—Exploratory Software Testing
  5. poj1789(prim)
  6. 在eclipse下配置maven插件
  7. HDU-4456 Crowd 二维树状数组+坐标转换
  8. VS2002 与 IIS6.0的一个bug
  9. PMCAFF | 知识梳理:30分钟搞定用户需求
  10. Centos新建系统用户详解