Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 何时绝对需要聚集索引?_Sql_Sql Server_Indexing_Azure Sql Database_Clustered Index - Fatal编程技术网

Sql 何时绝对需要聚集索引?

Sql 何时绝对需要聚集索引?,sql,sql-server,indexing,azure-sql-database,clustered-index,Sql,Sql Server,Indexing,Azure Sql Database,Clustered Index,AFAIK SQL表索引是为了提高查询速度,所以不是绝对必要的。然而,不管出于什么原因,sqlazure都要求每个表都有一个聚集索引,所以我猜在某些情况下需要索引 当绝对需要聚集索引时会发生什么情况?为什么?没有聚集索引意味着表的存储模式完全不同,即堆表。我怀疑SQLAzure团队根本没有实现这一点,因此表必须以“常规”方式存储 介绍堆表和群集表的一些优缺点。由于系统后端的复制,SQL Azure需要群集索引。以下是MSDN博客上的一篇参考文章,介绍了一些技术细节: 拥有一个好的集群密钥是一种很

AFAIK SQL表索引是为了提高查询速度,所以不是绝对必要的。然而,不管出于什么原因,sqlazure都要求每个表都有一个聚集索引,所以我猜在某些情况下需要索引


当绝对需要聚集索引时会发生什么情况?为什么?

没有聚集索引意味着表的存储模式完全不同,即堆表。我怀疑SQLAzure团队根本没有实现这一点,因此表必须以“常规”方式存储


介绍堆表和群集表的一些优缺点。

由于系统后端的复制,SQL Azure需要群集索引。以下是MSDN博客上的一篇参考文章,介绍了一些技术细节:


拥有一个好的集群密钥是一种很好的、常见的做法(例如,在
INT-IDENTITY
上)。几乎所有操作在集群表上都比堆表更快。有关详细信息,请参阅