对象管理(108页).pptVIP

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象管理(108页)

4、范围hash组合分区 1、首先根据范围进行划分,然后将每个范围划分的数据进行hash分区,分布到不同的hash子分区上,范围分区以后,并没有产生segment,对范围进行hash的时候,才会产生实实在在的segment 1、根据范围对表进行了范围划分,分成4个区。 2、对每个区的hash划分默认是根据id,分成4个分区 3、pmax分区没有使用默认值,而是分成了2个分区 因此一共产生了14个分区。 5、范围列表组合分区 首先对列进行范围划分,然后对每个分区进行列表分区 一共是6个分区 p1_1、 p1_2在ts01上 p1_3在ts02上 p2_1、 p2_2在ts03上 p2_3在ts04上 索引组织表 一般的表都是以堆来组织的,这是一种无序的组织方式。Oracle还提供了另外一种有序的表,索引组织表,简称IOT IOT表上必须有主键,表里所有的数据都存放在主键所在的索引的叶子节点里 在索引叶子节点里的索引条目里,不仅存放了被索引的列的值,还存放了其他列的值 对于总是通过主键访问数据的表来说,比较适合使用IOT表 普通表通过主键索引访问数据表,至少读取两个数据块 1、索引块 2、表的数据块 IOT表 只要读取索引块就可以 IOT是一个虚表,实际存放在索引segment里 在IOT的基础上建立索引,叫做二级索引,使用二级索引查找数据,存在两个阶段 1、在二级索引里面存储的是逻辑ROWID,就是主键值 2、二级索引进行查找的时候,首先是根据根据二级索引查找到逻辑ROWID,因为逻辑ROWID就是主键值,因此还需要进行一次二次查找,根据主键值再进行一次索引查找。 也就是二级索引最终还是要转化成对主键列的查找 二级索引里面存储的是逻辑ROWID、不是物理ROWID 1、必须创建一个主键约束 2、指定索引组织表的方式 如果我们在访问IOT表的时候,经常访问id和c1两个列,如果把c2、c3、c4也放在索引的叶子节点里面,那么会造成索引叶子节点的增多,单个叶子节点里面的行数减少,这样访问索引的速度就会降低。因此我们希望后面的三个列不要放在索引的叶子节点里面,而是放在溢出segment里面 通过两个参数来指定 1、留在索引块里面的数据空间占总数据块大小的百分比,0-50%,id列+c1列总共占的字节数/索引块的大小,超出这个范围的列不放在索引块里面 2、表示从c2开始,后面所有的列都放在overflow segment里面,不放在索引块里面 如果pctthreshold限制的列是c1开始后面的列,但是including限制的列是c2开始后面的列,那么以pctthreashold为准 簇表(cluster table) 两种类型的簇表:索引簇表、hash簇表 索引簇表的经典用法 1、主名细表关连查询,主表和明细表经常进行关连查询,适合使用这种表结构 2、建立一个 cluster segment,segment里面有extent,extent里面有block 3、簇表的数据就是存放在cluster segment里面 4、因为表并没有segment,因此是一个虚表 5、在cluster segment上面建立索引(主表和明细表的关联键) 6、将表关联到cluser segment上,根据关联键,将主表和明细表的记录放在同一个数据块里面。 7、因为总是关连查询,因此只要扫描一个数据块就可以取到两个表的数据 建立一个聚集段 在关联键上建立索引 将表建立到聚集索引上 Hash 簇表 1、一个hash簇只能关联一个表 表有一个簇列,表在插入segment的时候,对簇列进行hash运算,得到一个该记录所在的数据块的位置 表示phone_no的值最多不超过10000个 对于每一个hashkeys值所对应的所有记录行来说,在segment头部都会有一块空间,来存放这些数据行的地址,size表示每个hashkeys 所能使用的空间大小,上面是50个字节。 临时表 1、临时表所存放的数据都是临时使用的,这些数据用完以后就可以删除 2、临时表的数据被session所专用 同一个临时表,多个客户端使用,客户端将数据暂存在临时表里面 客户端只对自己的数据进行处理,互相之间并不影响 因为临时表内的数据不共享,被session所占用,因此没有DML锁 Oracle能够自动清除临时表里的数据 1、退出session的时候,也就是用户中断数据库连接的时候,自动清除与该session相关的,位于临时表里的数据,通过on commit preserve rows指定 2、用户提交或者rollback时,自动清除与该session相关的,位于临时表里的数据,通过on commit delete rows指定 上面是在session A里面 另起一个session

您可能关注的文档

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档