如何有效地使用 SQL SERVER 数据库的dm_db_missing_index_details。我是否需要创建表中详细说明的所有缺失索引以及equality_columns 和inequality_columns 的含义。 在创建索引(非聚集索引)时,如何利用 equality_columns 、inequality_columns 和 包含列。
最佳答案
当然,您不需要创建 dm_db_missing_index_details 建议的所有索引,但值得关注并检查可能的性能改进
等式列是用于使用 EQUAL“=”运算符进行搜索操作的字段
不等式列是更适合范围比较的字段,例如 BETWEEN 或 LESS 或 GREATER THAN 等。
根据您的评论,可以执行以下语句来创建非聚集索引
CREATE NONCLUSTERED INDEX [INDEXNAME] ON [TABLENAME] (
[EQUALITYCOLUMNNAME],
[INEQUALITYCOLUMNNAME]
)
INCLUDE (
[INCLUDECOLUMN]
);
虽然我在单个索引定义中添加了等式列和不等式列,但您可以考虑创建单独的索引
通常,大多数选择性列和相等列应在索引列列表的开头定义。在 Create Index 语句的字段列表中,不等式列位于等式列之后
请引用create index声明说明
关于sql - dm_db_missing_index_details 的有效使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47688250/