Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.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 server 带有PK和标识的临时表是否在sql server内部创建聚集索引。或者我们必须显式地创建_Sql Server - Fatal编程技术网

Sql server 带有PK和标识的临时表是否在sql server内部创建聚集索引。或者我们必须显式地创建

Sql server 带有PK和标识的临时表是否在sql server内部创建聚集索引。或者我们必须显式地创建,sql-server,Sql Server,带有PK和标识的临时表是否在sql server内部创建聚集索引。或者我们必须显式地创建 我当时正在从事SP优化工作,遇到了一篇文章,其中说#带有大容量数据的Temp表可能存在Temp db内存不足的问题。我将#表大小减少到只存储int列的少数必需列。现在考虑排序操作,对于实际表来说,PK和Clusterd索引有一些好处。所以我很好奇#table是否使用了与SQL相同的功能。IDENTITY纯粹是列的属性,比如notnull。它不是群集的,也不是主键,除非您告诉SQL Server 创建表T(I

带有PK和标识的临时表是否在sql server内部创建聚集索引。或者我们必须显式地创建


我当时正在从事SP优化工作,遇到了一篇文章,其中说#带有大容量数据的Temp表可能存在Temp db内存不足的问题。我将#表大小减少到只存储int列的少数必需列。现在考虑排序操作,对于实际表来说,PK和Clusterd索引有一些好处。所以我很好奇#table是否使用了与SQL相同的功能。

IDENTITY
纯粹是列的属性,比如
notnull
。它不是群集的,也不是主键,除非您告诉SQL Server

创建表T(ID int-IDENTITY)
不会在列
ID
上创建索引,也不会被索引


标识
列上创建
聚集索引
的唯一方法是使用synnax将其声明为您的
聚集主键
,更改表以添加
标识
列作为
聚集主键
,或在列上创建
聚集索引
(因为主键和聚集索引不必是同一列)。

您的实际问题是什么?您是否在询问标识是否默认为聚集索引?如果这是一个问题,那么答案是否定的。主键(有时是一个标识)将被索引。如果表中没有聚集索引,那么主键索引将被聚集。我很清楚聚集索引与PK的关系。但不确定#表是否具有相同的行为。解决这一问题的最佳方法是进行实际测试。创建一个有PK和无PK的临时表,并查看执行计划。它将像持久表一样创建聚集索引。