gpt4 book ai didi

sql - 索引如何减慢 select 语句的速度?

转载 作者:行者123 更新时间:2023-12-02 04:17:37 25 4
gpt4 key购买 nike

我很难找到为什么在表的外键上添加索引会减慢我同事的 View 速度。该 View 由多个具有外连接和内连接的打包 View 组成。我试图将它们一一删除以找出问题所在,但我不能说,它似乎不是来自某个特定 View ,而是来自所有 View 。

我知道索引可能会减慢插入速度,或者它们会占用硬盘驱动器的大小,但我从未在任何地方读到它们可能会减慢 View 速度。事实是,当我这样做时:

DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
GO

select top 20 * from MyView

使用索引需要 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]

最佳答案

您的其他索引或统计信息可能已过时。如果它们不是最新的,则查询分析器可能正在使用您的新索引选择次优执行计划,因为它认为这会更快。

尝试运行:

使用 (FULLSCAN) 更新统计信息

在你的 table 上。

关于sql - 索引如何减慢 select 语句的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7362299/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com