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存在的理由相关推荐
- Oracle中的数据字典技术及常用数据字典总结
一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行 ...
- oracle逻辑结构包含,在Oracle中,逻辑结构由哪几个部分组成?
♣答案部分 Oracle中逻辑结构包括表空间(TABLESPACE).段(SEGMENT).区(EXTENT)和块(BLOCK).数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而区又是由 ...
- oracle索引使用例子,Oracle中利用函数索引处理数据倾斜案例
关于B-Tree.Bitmap.函数索引的相关内容请参考另一篇博文: Oracle中B-Tree.Bitmap和函数索引使用案例总结 通常来说,索引选取的数据列最好为分散度高.选择性好.从索引树结构的 ...
- oracle mssm,关于oracle 中的dmt_lmt_mssm_assm其间的关系
在了解dmt和lmt之前,先来简单的熟悉一下oracle数据库的逻辑结构,逻辑结构描速起来非常简单:表空间是由段(segment)组成的,段是由范围(extent)组成的,范围是由连续的(block) ...
- oracle中删除yuj_oracle中可以使用drop、delete和truncate三个命令来删除数据库中的表...
oracle中经常用到的删除语句主要有三种,分别是delete,truncate,drop. 1. delete和truncate都是删除表中的内容而不能删除表的结构,而drop则是删除表的结构和内容 ...
- Oracle中的保留字(关键字)
字段名在oracle中和保留字冲突了,比如字段名称叫ID,比如字段名称叫sequence等,与oracle的关键字相冲突,这种的解决方法是, 使用字段名的时候前后加上``符号括起来,然后字段大小写要严 ...
- Oracle中的优化器--CBO和RBO
Oracle中的优化器--CBO和RBO Oracle数据库中的优化器又叫查询优化器(Query Optimizer).它是SQL分析和执行的优化工具,它负责生成.制定SQL的执行计划.Oracle的 ...
- 【DB笔试面试682】在Oracle中,Undo段中区3种状态分别是什么(Undo表空间系列)?...
♣ 题目 部分 在Oracle中,Undo段中区3种状态分别是什么? ♣ 答案部分 Undo信息存储在Undo段中,Undo段又存储在Undo表空间中.Undo表空间仅用于Undo段(在Undo表空间 ...
- oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园
1.如何查看ORACLE中正在运行的存储过程 select owner,name from v$db_object_cache where type like '%PROCE%' and locks ...
最新文章
- 一键部署dns服务_OpenShift : 通往云原生、DevOps、微服务和Serverless的大门
- 【c语言】输入输出格式练习
- 044_CSS33D转换
- 论文笔记 Hierarchical Reinforcement Learning for Scarce Medical Resource Allocation
- ssh-add ssh-agent使用
- C陷阱与缺陷学习笔记
- 修改git commit默认触发的编辑器
- 非常精确的测试运行时间(比clock()更精确些)
- tensorflow独热编码方法_吴恩达课后作业学习2-week3-tensorflow learning-1-基本概念
- PHP OB-缓冲区
- ANSYS or Abaqus? 一个过来人的工作感悟
- 层次分析法(AHP)原理_例题应用及代码
- 保持numlock处于开启状态
- 【css默认设置】---- 关于CSS Reset 那些事(一)之 历史演变与Normalize.css
- 如何下载哔哩哔哩的视频
- 利用python构建马科维茨_Python_画马科维茨有效前沿
- java如何进行word文档的合并
- 红岭创投黑名单批量导入
- 联发科技嵌入式_联发科技2018校园招聘
- 详解广播域和冲突域的区别
热门文章
- BZOJ1299[LLH邀请赛]巧克力棒——Nim游戏+搜索
- (二)Python 学习第二天--爬5068动漫图库小案例
- 当年只会C# 所以写C++就成这样了! log4cplus - log4net
- 探索式软件测试—Exploratory Software Testing
- poj1789(prim)
- 在eclipse下配置maven插件
- HDU-4456 Crowd 二维树状数组+坐标转换
- VS2002 与 IIS6.0的一个bug
- PMCAFF | 知识梳理:30分钟搞定用户需求
- Centos新建系统用户详解