sql-server - 非聚集索引 - 包括 2 列始终为空 - 改进搜索?
问题描述
在将它们添加到我们的 2019 SQL 数据库之前,我被要求查看一系列索引。我不是索引人员,通常不这样做,所以我试图理解为什么我应该在下面添加一个。
下面的代码将两列添加到非聚集索引中,而这两列始终为空。本质上,我有一个包含 3 个“子类别”字段的 Part Master 表。我们只使用这些子类别字段中的 1 个并且从不打算使用其他字段,因此填充了 part_subgrp1 而 part_subgrp2 和 3 始终为空。我的同行一直说它会提高性能,但他们无法解释原因,我似乎无法理解两个空白字段如何帮助优化搜索(至少以有意义的方式)。
这是代码:
5. new index from table partmstr
CREATE NONCLUSTERED INDEX [idx_partmstr_sellable_inclPartSubgrp2] ON [dbo].[partmstr]
(
[sellable], [part_grp]
)
include ([part_subgrp2],[part_subgrp3] )
GO
我不知道这对这个问题很重要,但该表有 343 列和 7704 条记录(并确认这两个部分子组对于每个子组都是空的)。
如果他是正确的,我只是想更好地理解为什么,所以我不觉得我只是在放垃圾。
谢谢!
我是新手,所以如果我把它顶起来,我会完全纠正它。谢谢!
解决方案
推荐阅读
- firebase - Flutter Gradle 任务 assembleRelease 在构建 apk 时失败,退出代码为 1
- c - 与充满函数调用的 switch case 相比,函数指针有什么优势?
- angular - 使用 npm 库时的错误
- mongodb - 将 MongoDB 和 NodeJS 应用程序从 ec2 T2 迁移到另一种实例类型
- python - Python按索引连接数据框
- reactjs - 防止由于搜索栏上的去抖动而导致延迟
- r - 如何在 R 中读取多个 txt 文件并删除重复项
- r - Metafor 森林图显示优势比的置信区间不正确
- c# - 请帮助我将列表框项目转换为 C# 中的字符串数组列表
- kotlin - 为什么 Kotlin 不能推断此示例中的类型?