oracle中有哪些表类型,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
oracle中有99%以上的表都是堆组织表(heap organized table)。当我们默认执行 create table 时,默认的表类型就是堆表。对于堆来说。我们可以理解为一个单纯的存储空间,我们将数据存放在堆里,他的存放是无序的,像一堆积木扔在口袋里一样。所以我们不能要求我们可以按照存放的次序拿到我们想要的数据,而是会按照无法预测的顺序读取出来。例如对堆表进行全表扫时,oracle会根据命中的次序来读取数据,而不会根据插入更新顺序来进行读取。这些数据将会被一种随机的方式来进行读取,并且读取顺序取决于其他因素,例如并行、优化器的不同等等。
还有一种类型表叫做索引组织表(IOT);就是存储在一个索引结构的表。IOT和堆表最大的区别就是,IOT的数据是按照逐渐顺序来进行存储和排放的。相对比于堆表,堆表在每次建表的时候,都需要预留足够的空间来使表来创建索引、主键等等。但是IOT不存在这种索引主键的开销,对于IOT来说,索引就是数据,数据就是索引。但是我们都知道索引是个复杂的数据结构,维护成本较高,所以堆组织表的效率会相对高出很多。‘
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。