Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.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_Tsql - Fatal编程技术网

Sql 我们可以创建包含列的聚集索引吗

Sql 我们可以创建包含列的聚集索引吗,sql,sql-server,tsql,Sql,Sql Server,Tsql,我们可以在Microsoft SQL Server(T-SQL)中创建包含列的聚集索引吗 如果是,那么它在内部是如何工作的 据我所知,聚集索引的叶级是实际的数据页本身,它存储整行include和键列(在键列上创建索引)。不能在聚集列存储索引中指定包含的列。发件人: 只能在非聚集索引上定义非键列 原因是,当您将聚集列存储索引应用于表时,SQL Server会将表的物理存储更改为列。因此,所有列都包括在聚集的columnstore索引中。根据定义,聚集索引包括所有列。。。虽然你的答案没有错,但戴尔·

我们可以在Microsoft SQL Server(T-SQL)中创建包含列的聚集索引吗

如果是,那么它在内部是如何工作的


据我所知,聚集索引的叶级是实际的数据页本身,它存储整行include和键列(在键列上创建索引)。

不能在聚集列存储索引中指定包含的列。发件人:

只能在非聚集索引上定义非键列


原因是,当您将聚集列存储索引应用于表时,SQL Server会将表的物理存储更改为列。因此,所有列都包括在聚集的columnstore索引中。

根据定义,聚集索引包括所有列。。。虽然你的答案没有错,但戴尔·伯勒尔的评论更接近。聚集索引很好地保持了对整行的物理排序。换句话说,就是桌子本身。结论:所有列都隐式包含。其他索引将使用此作为查找键。谢谢@Shnugo,我已更新了更清楚的答案。我不确定这是否适用——问题是关于聚集索引,而不是聚集列存储索引。