聚集和非聚集索引 - 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?的主要内容,如果未能解决你的问题,请参考以下文章