Art*_*his 6 sql sql-server indexing performance
我很难找到为什么在表的外键上添加索引会减慢我的同事的观点.此视图由具有外连接和内连接的多个打包视图组成.我试图逐一删除它们以找出问题所在,但我不能说,它似乎不是来自特定的视图,而是来自它们的更多.
我知道索引可以减慢插入速度或者它们在硬盘驱动器上占用大小,但我从来没有读过他们可能负责减慢视图的任何地方.事实就是我这样做:
DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
GO
select top 20 * from MyView
Run Code Online (Sandbox Code Playgroud)
索引需要20秒而没有索引需要9秒.
CREATE NONCLUSTERED INDEX [IX_MyField] ON [dbo].MyTable
(
[MyField] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF,
IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
您的OTHER索引或统计信息可能已过期.如果它们不是最新的,查询分析器可能会使用您的新索引选择次优执行计划,因为它认为会更快.
试试跑步:
UPDATE STATISTICS WITH (FULLSCAN)
在你的桌子上.
归档时间: |
|
查看次数: |
4987 次 |
最近记录: |