在这种情况下,在三个nchar列上的SQL Server中索引的最有效方法是什么?

时间:2013-07-02 19:54:32

标签: sql sql-server performance indexing database-performance

摘要:
我正在SQL Server 2012中创建一个新表作为业务系统设计的一部分。该表有3列(其中包括)各种大小的nvarchar类型,我的Web应用程序需要使用单个字符串搜索词来查询这3列。该表可以包含不超过100K的记录。

我想以某种方式为SQL Server 2012中的这些列编制索引,以便获得结果最有效。

我想强调一下,我要问的问题与我的具体案例有关,而不是通用的SQL索引问题。虽然它们的答案也可能适用于一般性问题。

上下文

  • SQL Server 2012
  • Windows Server 2008

表列定义:

  • ItemNumber :: nvarchar(10)
  • 制造商:: nvarchar(20)
  • 描述:: nvarchar(40)

可能的记录数:最高100K

使用案例

最终用户(大约1000个中的一个)将传递单个字符串来搜索这三列,并且查询需要返回所有这三行中的任何一行包含要搜索的字符串值的行(不区分大小写)

问题:

  1. 创建索引的最佳方法是什么,以便查询以最有效的方式返回数据(快速同时最小化SQL Server资源使用)?
  2. 为每列创建索引?
  3. 创建一个包含所有3列的索引?
  4. 启用索引的全文搜索?
  5. 哪种方法可以充分利用SQL Server 2012可以提供的功能?

1 个答案:

答案 0 :(得分:0)

正如@marc_s已经建议的那样,全文搜索是唯一有效的选择。