gpt4 book ai didi

sql-server - 由于计划不当或索引碎片化,MS SQL 查询速度变慢

转载 作者:行者123 更新时间:2023-12-01 12:42:09 24 4
gpt4 key购买 nike

我有一个存储过程,它通常运行得非常快(几乎不到几秒钟),但有时奇怪的是,具有相同参数的相同过程需要几分钟才能执行。但是,如果此时我对索引进行碎片整理,它会在几秒钟内再次开始运行。

这可能是因为糟糕的执行计划或零散的索引?

如果是这样,有没有办法让这个过程不依赖于执行计划或碎片索引?

提前致谢,约瑟夫

最佳答案

好吧,根据您的 SP,解决方案可能通过以下选项:

1/WITH RECOMPILE可以节省你的一天。这通过重新编译 SP 增加了总执行时间,但它确保您将拥有最佳执行计划。

2/KEEPFIXED PLAN也可能是一种选择。

3/值得一试 OPTIMIZE FOR如果您有一组从统计角度来看“具有代表性”的参数。

4/监控相关表和索引的碎片级别。检查是否有大量更新您的 SP 使用的表的语句。如果是,update statistics ( UPDATE STATISTICS <tablename>; )

5/参数嗅探也可能是根本原因。

您可以进一步了解详情并查看 list of causes of recompilations .

关于sql-server - 由于计划不当或索引碎片化,MS SQL 查询速度变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23362311/

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