在我在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
上进行索引?
答案 0 :(得分:5)
主键约束在name
列上创建索引(在此示例中为聚簇索引)。
如果您有查询尝试通过提供name
来查找value
,那么您需要value
列上的索引才能有效地执行此操作。否则,如果所有查找都基于name
,则无需在value
列上创建索引。