oracle中有如下几种类型的表:

1、堆组织表(heap organized tables):常用的表类型,以堆的方式管理,当增加数据时,将使用段中第一个适合数据大小的空闲空间;当删除数据时,留下的空间允许以后的DML操作重用。

2、索引组织表:表存储在索引结构中,利用行本身排序存储。在堆中,数据可能被填到任何适合的地方,在索引组织表中,根据主关键字,以排序顺序来存储数据。

3、聚簇表:几张表物理存储在一块,通常是同一个数据块上。包含相同聚簇码值的所有数据在物理上存储在一起,数据"聚集"在聚簇码周围,聚簇码用B*Tree索引构建。

4、散列聚簇表:和聚簇表相似,但是不是用B*Tree索引聚簇码定位数据,散列聚簇把码散列到簇中,来到达数据所在的数据库块。在散列聚簇中,数据就是索引(比喻的说法)。这适合用于经常通过码等式来读取的数据。

5、嵌套表:OOP扩展的一部分,由系统产生,以父子关系维持子表。

6、临时表:存储事务或会话中的临时数据,用以中间结果的计算,分配临时段做为存储区域。

7、对象表:根据对象类型创建,有特殊属性并且和非对象表不关联。

一张表最多有1000列;理论上一张表有无限多行;能有和列的排列一样多的索引,且一次能够使用32个;拥有表的数量没有限制。

表的相关参数及术语

1)高水位标记

高水位标记开始在新创建的表的第一个块上。随着数据不断放到表中,使用了更多的块,从而高水标记上升。如果删除一些表中的行,高水标记仍不下移。即count(*)100000行和delete全部行后count(*)所需时间一样(全扫描情况下)。需要对表进行重建。

2)自由列表(freelist)

在oracle中用来跟踪高水标记以下有空闲空间的块对象。每个对象至少有一个freelist和它相关。当块被使用时,oracle将根据需要放置或取走freelist。只有一个对象在高水位标记以下的块才能在freelist上发现。保留在高水标记以上的块,只有freelist为空时才能被用到。此时oracle提高高水标记并把这些块增加到freelist中。用这种方式,oracle对一个对象推迟提高高水标记,直到必须时才提高。一个对象可能不只有一个freelist,如果预料会有许多并行用户对一个对象进行大量的insert或update,配置多个freelist能够提高整体性能(可能的代价就是增加存储空间)。

3)pctfree和pctused

如果pctfree设置为10,那么块在用完90%以前,都会使用freelist(都位于freelist中)。一旦达到90%,将从freelist中移除,直到块上空闲空间超过60%以后再使用(再次进入freelist中,当pctuser为40时)。

A.当pctfree设置过小,而经常更新时,容易出现行迁移

B.高pctfree,低pctused---用于插入许多将要更新的数据,并且更新经常会增加行的大小,这样插入后在块上保留了许多空间(高pctfree),在块返回到自由列表之前,块必须几乎是空的(低pctused)

C.低pctfree,高pctused---用于倾向于对表只使用insert或delete,或者如果要update,update也只是会使行变小。

4)initial,next和pctincrease

例如使用一个initial盘区为1MB,next盘区为2MB,pctincrease为50,可得到盘区应该是:(1)1mb(2)2mb(2)3mb(2的150)(4)4.5mb(3的150%)。一般认为这些参数是过时的,数据库应该使用局部管理并且盘区大小一致的表空间。在这种方式下,initial盘区总是等于next盘区的大小,并且不必使用pctincrease,使用pctincrease只会导致表空间产生碎片。在没用局部管理表空间的情况下,建议总是设置initial=next和pctincrease等于zero,这样可以模拟局部管理表空间的使用,为了避免碎片,所有在表空间中的对象应该使用相同盘区的分配策略。

5)minextents和maxextents

设置控制对象对它自己分配的盘区数。minextents为初始分配盘区个数。

6)logging和nologging

nologging允许对这些对象执行某些操作时不产生重做。它只影响一些特定的操作,例如开始创建对象或者使用sqlldr进行直接路径装载或者insert /*+ append */ select类型的语句。

7)initrans和maxtrans

对象中的每一块都有一个块头,块头的一部分是事务表,事务表中的条目描述哪一个事务块上的行/元素被锁定了。事务表的最初大小由对象的initrans设置确定,对于表,默认为1(索引默认为2),当需要时,事务表可以动态地增加,大小最多到maxtrans(假定在快上有足够的空闲空间),每一个分配的事务条目在块头上占用23字节的存储空间。

oracle数据库标志物,Oracle表的分类以及相关参数的详解相关推荐

  1. SqlServer数据库 性能监视器 打开路径、添加监控参数 等详解

    目录 简介 首先启动Sqlserver数据库界面 登录Sqlserver数据库 启动SQL Server Profiler 再输入一次密码

  2. 如何从Oracle数据库中的表中获取列名(字段名)列表?

    如何从Oracle数据库中的表中获取列名(字段名)列表? 目录 如何从Oracle数据库中的表中获取列名(字段名)列表? #示例一 #示例二 示例三: #示例一 可以获取: table_name:表名 ...

  3. oracle数据库解决system表空间已爆满的问题

    oracle数据库解决system表空间已爆满的问题 参考文章: (1)oracle数据库解决system表空间已爆满的问题 (2)https://www.cnblogs.com/chxmtl/p/1 ...

  4. Oracle数据库之多表查询

    oracle安装参照: Oracle数据库之安装教程 Oracle数据库总结: Oracle数据库之基本查询 Oracle数据库之单行函数 Oracle数据库之多行函数 Oracle数据库之多表查询 ...

  5. oracle表还原truncate,Oracle数据库之Oracle表恢复(truncate)

    本文主要向大家介绍了Oracle数据库之Oracle表恢复(truncate),通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. 一.模拟truncate操作: SQL> c ...

  6. oracle rman恢复表空间,Oracle数据库RMAN恢复之表空间和数据块介质的恢复

    示例一:表空间的数据文件被误删除 open状态下删除表空间对应的所有数据文件. 在open状态下使用alter tablespace ... offline for recover 脱机表空间. 使用 ...

  7. 数据库-Oracle【Oracle数据库设置默认表空间问题及Oracle,SQL,MySQL的自增变量设置】...

    一. Oracle数据库设置默认表空间问题 DBA们经常会遇到一个这样令人头疼的问题:不知道谁在Oracle上创建了一个用户,创建时,没有给这个用户指定默认表空间,所以这个用户就会采用默认的表空间-- ...

  8. oracle批量把小写转换成大写,oracle数据库批量将表名小写转大写

    ORACLE10g数据库,Sqlserver通过DTS导出数据到ORACLE后.查询表数据时输入: select * from "表名" ; 查询数据执行正常. 如果输入:sele ...

  9. oracle中如何加字母,Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字...

    本文主要向大家介绍了Oracle数据库之oracle数据库表插入数据的时候如何产生一个字母+数字,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle 语句中" ...

最新文章

  1. 一文读懂大数据漏斗分析!
  2. LeetCode 85. Maximal Rectangle --python,java解法
  3. Debian Linux下安装配置 Pure-ftpd
  4. 图解|2018年度中国科学十大进展
  5. html悬浮的图片居中,HTML/CSS:图片居中(水平居中和垂直居中)
  6. typedef函数指针使用方法
  7. 3D脚本 maxscript入门教程(6)
  8. Linux 文件属性和权限详解
  9. 根据大小分割大文本_基于深度学习的图像分割在高德地图的实践
  10. Exposure Mask of Digital Cameras
  11. Intel® Nehalem/Westmere架构/微架构/流水线 (5) - 高速缓存 存储器子系统
  12. 计算机语言php自学,php自学需要多久?
  13. 优酷 米兔机器人_米兔机器人如何发豆芽?
  14. cmake使用教程(四)调用外部共享库和头文件
  15. java+widthstep_关于IplImage中widthstep的大小与width,nchannels等的关系的问题
  16. 7大排序时间复杂度对比、以及优化
  17. 2017,那些引发关注的新建展馆
  18. CentOS Linux 续存,在新的 AlmaLinux 9 中发光发热
  19. 这件事有了新进展 | 经济学人20210529期下载
  20. matlab插值龙格实验,实验二 拉格朗日插值龙格现象

热门文章

  1. 面试题28:字符串全排列
  2. java 单链表是否有环,判断链表中是否有环
  3. python实现数据恢复_数据恢复/电子取证 非常有用的python库——Construct | 学步园...
  4. 三维图形 纵坐标_《从柯氏四级培训效果评估到三维培训课程需求评估》
  5. 火热抢购(双11)双12通用海报设计素材,PSD分层!
  6. 商业|商务海报篇-简洁华丽的商务海报
  7. UI素材实用模板|2.5D等距风格插画专辑
  8. 【设计素材】表格数据形平面海报素材
  9. 广东科技学院计算机原理组成,201120122操作系统原理期中试卷edited广东科技学院付博士(4页)-原创力文档...
  10. oracle给日期加特定天数,oracle按照日期求连续天数的数据sql