非聚集索引 - 包括 2 列始终为空 - 改进搜索?

问题描述

我被要求在将一系列索引添加到我们的 2019 sql 数据库之前对其进行审查。我不是索引人,通常不会这样做,所以我试图理解为什么我应该添加下面的。

下面的代码将两列添加到非聚集索引,当这两列始终为空时。本质上,我有一个 Part Master 表,它有 3 个“子类别”字段。我们只使用这些子类别字段中的 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 条记录(并确认这两个部分子组对于其中的每一个都是空的)。

如果他是对的,我只是想更好地了解原因,所以我不觉得我只是在放垃圾

谢谢!

我是新手,所以如果我把它顶起来,我会完全纠正它。谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...