我在 DTA 中分析了一个巨大的查询。数据库设计得很糟糕,表上没有主键,也没有聚集索引。我发现大约有 80 张这样的桌子。现在,如果没有索引,查询显然会运行缓慢,但是当我将它们放入 DTA 时,它总是要求我创建一个非聚集索引(即使在堆上)。就像是
CREATE NONCLUSTERED INDEX [_dta_index_IO_Status_MAster_10_1899153811__K2_4_5_1912]
ON [Scorecard].[IO_Status_MAster]
(
[WBS] ASC
)
INCLUDE ([OrderNumber], [IO_STATUS])
WITH (SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF) ON [PRIMARY]
go
我的问题是,DTA 的工作前提是表上有聚集索引吗?为什么不建议创建聚簇索引?