3

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

我想以某种方式在 SQL Server 2012 中对这些列进行索引,以便最有效地获取结果。

我想强调一下,我要问的问题与我的特定案例有关,而不是一般的 SQL 索引问题。尽管对它们的答案也可能适用于一般问题。

语境

  • SQL Server 2012
  • 视窗服务器 2008

表列定义:

  • 项目编号 :: nvarchar(10)
  • 制造商 :: nvarchar(20)
  • 说明 :: nvarchar(40)

可能的记录数:高达 100K

用例:

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

问题:

  1. 创建索引的最佳方法是什么,以便查询以最有效的方式返回数据(快速同时最大限度地减少 SQL Server 资源使用)?
  2. 为每一列创建索引?
  3. 创建一个包含所有 3 列的索引?
  4. 在索引上启用全文搜索?
  5. 什么方法可以充分发挥 SQL Server 2012 的潜力?
4

1 回答 1

0

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

于 2013-07-03T08:59:08.620 回答