【问题标题】:clustered and non-clustered index equivalent in oracle?oracle中的聚集索引和非聚集索引等效?
【发布时间】:2015-07-31 15:58:06
【问题描述】:

我来自 MS sql 服务器,其中聚集和非聚集索引曾经发挥重要作用。 但看起来在甲骨文下没有这种东西。我相信一定有一些等价的 oracle 中的聚集索引和非聚集索引。有人可以解释一下吗?

oracle中的create index是否等同于非聚集索引?

【问题讨论】:

  • 相当于Oracle中的聚集索引被称为“索引组织表”:docs.oracle.com/cd/E11882_01/server.112/e40540/…
  • 索引组织表(IOT)是最接近它的东西,但它并不完全相同。据我了解,SQL Server 中的许多(大多数?)表都有聚集索引,但在 Oracle 中,IOT 的使用非常谨慎,通常用于除 PK 之外的列很少的表。
  • @TonyAndrews:物联网与聚集索引完全一样。整个表数据存储在索引中。它在 Oracle 中很少使用的原因是这样做几乎没有意义。参见例如这里use-the-index-luke.com/blog/2014-01/…讨论

标签: oracle indexing clustered-index


【解决方案1】:

Oracle 中的Index Organized table 存储整个表的数据,按主键排序。因此,这是 Oracle 中最接近于聚集索引的东西,除了所有其他索引都是非聚集索引之外,所有其他索引的索引键也进行了排序,其中 Rowid 在它们前面,指向实际数据。

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 2013-03-22
    • 2021-01-14
    • 1970-01-01
    • 2011-03-24
    • 2016-01-05
    • 2021-09-07
    • 2014-08-27
    相关资源
    最近更新 更多