ITPub博客

首页 > 数据库 > Oracle > oracle表的类型

oracle表的类型

原创 Oracle 作者:蒙娜丽莎的大嘴唇儿 时间:2019-12-02 17:45:23 1 删除 编辑
oracle中有99%以上的表都是堆组织表(heap organized table)。当我们默认执行 create  table 时,默认的表类型就是堆表。对于堆来说。我们可以理解为一个单纯的存储空间,我们将数据存放在堆里,他的存放是无序的,像一堆积木扔在口袋里一样。所以我们不能要求我们可以按照存放的次序拿到我们想要的数据,而是会按照无法预测的顺序读取出来。例如对堆表进行全表扫时,oracle会根据命中的次序来读取数据,而不会根据插入更新顺序来进行读取。这些数据将会被一种随机的方式来进行读取,并且读取顺序取决于其他因素,例如并行、优化器的不同等等。
还有一种类型表叫做索引组织表(IOT);就是存储在一个索引结构的表。IOT和堆表最大的区别就是,IOT的数据是按照逐渐顺序来进行存储和排放的。相对比于堆表,堆表在每次建表的时候,都需要预留足够的空间来使表来创建索引、主键等等。但是IOT不存在这种索引主键的开销,对于IOT来说,索引就是数据,数据就是索引。但是我们都知道索引是个复杂的数据结构,维护成本较高,所以堆组织表的效率会相对高出很多。‘
其他的类似于索引聚蔟表、散列聚蔟表。由于应用场景不是很多,知道有这个东西就可以了。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31561453/viewspace-2666554/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
努力将甲骨文翻译成白话文的小白

注册时间:2018-11-12

  • 博文量
    11
  • 访问量
    17463