多个可搜索字段的SQL Server索引

时间:2015-06-22 18:15:43

标签: sql sql-server indexing database-performance

我在SQL Server 2012 SP1数据库中有一个表,其中包含大约十几个可以搜索的列。使用该应用程序的用户可以根据需要使用一列或多列进行搜索,并在运行时创建一个SQL语句。

因此,我们设置了十几个索引,每个可搜索列一个。我们 not 包含了索引中的其他列,因为每个索引中有12个相同数据的副本似乎是错误的(并且DBA不断抱怨磁盘空间)。

不幸的是,这导致了大量的RID / Key查找,因为没有一个索引覆盖任何执行的查询(通过搜索应用程序运行的查询返回表中的大约20列,包括十几个搜索)。

该表有大约3000万行,但正常搜索只返回1-1,500行,所以问题不是(可怕)可怕,我只是想积极主动。

因此,为了尽量避免尽可能多的RID / Key查找,将索引此表的另一种方法是什么?包含所有可搜索列的一个索引没有帮助,因为除非第一列是标准之一,否则不使用索引。

0 个答案:

没有答案