表(字符串,字符串)是否需要索引?

时间:2010-06-13 12:56:56

标签: sql-server indexing sql-server-2008-r2

在我在SQL Server 2008 R2上运行的数据库中,我有一个全局变量的特殊表:

CREATE TABLE global_variables
(
    name NVARCHAR(50),
    value NVARCHAR(50) NOT NULL
CONSTRAINT PK_global_variables PRIMARY KEY CLUSTERED
(
    name ASC
) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO

这样的表是否需要在value上进行索引?

1 个答案:

答案 0 :(得分:5)

主键约束在name列上创建索引(在此示例中为聚簇索引)。

如果您有查询尝试通过提供name来查找value,那么您需要value列上的索引才能有效地执行此操作。否则,如果所有查找都基于name,则无需在value列上创建索引。