当前位置:  数据库>oracle

Oracle表的分类以及相关参数的详解

    来源: 互联网  发布时间:2014-10-04

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

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 Database)性能调优技术详解
  • oracle中lpad函数的用法详解
  • Oracle 数据库(oracle Database)性能调优技术详解 iis7站长之家
  • 求.bash_profile配置oracle详解
  • Oracle数据库中分区功能详解
  • oracle指定排序的方法详解
  • 详解如何应用改变跟踪技术加速Oracle递增备份
  • oracle合并列的函数wm_concat的使用详解
  • oracle select执行顺序的详解
  • 使用Oracle数据挖掘API方法详解[图文]
  • Oracle多表级联更新详解
  • 安装Linux与Oracle数据库步骤详解
  • oracle求同比,环比函数(LAG与LEAD)的详解
  • 详解Linux平台下的Oracle数据库编程
  • oracle中去掉回车换行空格的方法详解
  • Oracle中job的使用详解
  • [Oracle] Data Guard 之 Redo传输详解
  • oracle用户权限管理使用详解
  • 深入ORACLE变量的定义与使用的详解
  • 详解Oracle的几种分页查询语句
  • oracle SQL递归的使用详解
  • 深入解析Oracle参数及参数文件
  • Oracle数据库访问参数文件的顺序
  • Oracle初始参数与当前用户
  • Oracle中serveroutput参数一次设置永久保存方法
  • Oracle的spfile参数文件
  • Linux Oracle RAC内核参数
  • 怎么在java中向一个sql语句传参数,就像oracle的proc一样啊?
  • Sun Solaris运行Oracle数据库所需的内核参数
  • Linux下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果
  • Oracle Streams存储过程中的一些参数
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ORACLE日期相关操作
  • Linux下如何用C语言操作Oracle数据库相关的图书推荐
  • Oracle 11g 相关工具netca,dbca乱码之解决
  • Oracle相关基础知识教程集锦
  • Linux下Oracle数据库相关知识集粹
  • 如何在REDHAT9下安装ORACLE9I,,有相关文档吗??
  • Linux中Oracle使用相关知识集锦
  • Linux(Oracle系统在上面)系统无缘无故死机 , 可能是由于应用程序引起 , 可是由于重新启动查不到相关信息 , 不知道在哪里有记录系统CPU Lo
  • oracle 数据库闪回相关语句介绍
  • 与Oracle RAC相关的连接配置写法实例
  • Oracle的几个相关重要概念简述
  • Unix/Linux Oracle相关shell
  • Unix/Linux之Oracle相关Shell
  • Oracle相关:Rman Crosscheck删除失效归档
  • oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .
  • Oracle与连接相关知识
  • Oracle数据库相关知识
  • 探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句
  • oracle安装出现乱码等相关问题
  • Oracle 存储过程总结 二、字符串处理相关函数
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3