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

标签 sql sql-server tsql

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

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

根据我的理解,聚集索引的叶级是实际的数据页本身,它存储包含键列(在其上创建索引)的整行。

最佳答案

您不能在聚集列存储索引中指定包含的列。来自 the manual :

Nonkey columns can only be defined on nonclustered indexes


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

关于sql - 我们可以创建包含列的聚集索引吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54193139/

相关文章:

php - mssql_execute 失败, "stored procedure execution failed"

sql - 使用其他列的值更新表列

.net - 如何将 .Net 日期时间转换为 T-SQL 日期时间

sql - SQL 中 IF 的正确用法

javascript - 将输入类型=日期值传递给日期函数以获得特定格式

sql - SQL Server 中的算术溢出

MySQL 处理超过 24 小时的日期格式

sql-server - 如何在 Azure SQL 中使用两个数据库上的相同表名称和结构进行交叉数据库查询

sql - 选择另一个表中不存在的值

tsql - 简化的交叉连接?