群集和非群集索引 - SQL Server和Oracle?

时间:2022-03-26 02:49:35

Overview of clustered and nonclustered index - not DB specific (as I understand):

集群索引和非集群索引概述 - 不是特定于DB的(据我所知):

Clustered Index: The physical order of data. As a result, a table can only have one clustered index.

聚集索引:数据的物理顺序。因此,表只能有一个聚簇索引。

Nonclustered Index: One or more nonclustered indexes can be configured per table. Does not directly impact the organization of the data page.

非聚集索引:可以为每个表配置一个或多个非聚簇索引。不直接影响数据页面的组织。

Is there a difference between how Microsoft SQL Server and Oracle 'manage' clustered and nonclustered indexes? Or is it the same across the DBS?

Microsoft SQL Server和Oracle如何“管理”群集和非群集索引之间有区别吗?或者整个DBS都一样吗?

Any guidance would be great!

任何指导都会很棒!

1 个解决方案

#1


4  

Oracle does not have a concept of a clustered index. So your premise that the question can be database agnostic is flawed. Oracle also does not have the concept of a "page" like SQL Server does.

Oracle没有聚集索引的概念。因此,您的问题可能是数据库无关的前提是有缺陷的。 Oracle也没有像SQL Server那样的“页面”概念。

For situations where the physical order of data in a table is truly important, Oracle allows you to define a table as an index-organized table or a single-table hash cluster. But the implementation is completely different from that of a clustered index. An index-organized table, for example, will store the table's data in the index so there is no table segment (unless you define an overflow segment).

对于表中数据的物理顺序非常重要的情况,Oracle允许您将表定义为索引组织表或单表散列簇。但是实现与聚簇索引完全不同。例如,索引组织表将把表的数据存储在索引中,因此没有表段(除非您定义了溢出段)。

#1


4  

Oracle does not have a concept of a clustered index. So your premise that the question can be database agnostic is flawed. Oracle also does not have the concept of a "page" like SQL Server does.

Oracle没有聚集索引的概念。因此,您的问题可能是数据库无关的前提是有缺陷的。 Oracle也没有像SQL Server那样的“页面”概念。

For situations where the physical order of data in a table is truly important, Oracle allows you to define a table as an index-organized table or a single-table hash cluster. But the implementation is completely different from that of a clustered index. An index-organized table, for example, will store the table's data in the index so there is no table segment (unless you define an overflow segment).

对于表中数据的物理顺序非常重要的情况,Oracle允许您将表定义为索引组织表或单表散列簇。但是实现与聚簇索引完全不同。例如,索引组织表将把表的数据存储在索引中,因此没有表段(除非您定义了溢出段)。