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

Posted

技术标签:

【中文标题】聚集和非聚集索引 - SQL Server 和 Oracle?【英文标题】:Clustered and nonclustered index - SQL Server and Oracle? 【发布时间】:2013-03-22 22:01:44 【问题描述】:

聚集和非聚集索引概述 - 不是特定于数据库的(据我了解):

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

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

Microsoft SQL Server 和 Oracle “管理”聚簇索引和非聚簇索引的方式有区别吗?还是整个星展银行都一样?

任何指导都会很棒!

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我认为 SQL Server 中的聚集索引和 Oracle 中的索引组织表之间没有真正的区别(除了名称)。 在物联网的情况下,实现似乎根本没有什么不同。两个引擎都使用 B-tree 并且没有堆。

以上是关于聚集和非聚集索引 - SQL Server 和 Oracle?的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server:聚集和非聚集索引[重复]

SQL SERVER数据库 唯一索引 非唯一索引 聚集索引 非聚集索引 之间区别

SQL Server索引的作用

sql-server学习:索引

SQL SERVER 聚集索引 非聚集索引 区别

SQL Server索引