Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server MS SQL查询速度慢,因为计划错误或索引碎片_Sql Server_Performance_Indexing_Fragmentation_Maintenance Plan - Fatal编程技术网

Sql server MS SQL查询速度慢,因为计划错误或索引碎片

Sql server MS SQL查询速度慢,因为计划错误或索引碎片,sql-server,performance,indexing,fragmentation,maintenance-plan,Sql Server,Performance,Indexing,Fragmentation,Maintenance Plan,我有一个存储过程,它通常运行得很快(几乎不到几秒钟),但有时使用相同参数的同一个过程需要几分钟才能执行。但是如果我在此时对索引进行碎片整理,它会在几秒钟内再次开始运行 这可能是因为执行计划不好或索引不完整 如果是这样的话,有没有办法使这个过程不依赖于执行计划或分段索引 提前感谢,, Joseph简短回答:不是。SQL Server依赖于执行计划和索引来实现良好的性能 回答:也许吧。如果在对索引进行碎片整理后,性能立即提高,那么我的第一个问题是:哪些索引,以及它们为什么要进行碎片整理?您是否基于唯

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

这可能是因为执行计划不好或索引不完整

如果是这样的话,有没有办法使这个过程不依赖于执行计划或分段索引

提前感谢,,
Joseph

简短回答:不是。SQL Server依赖于执行计划和索引来实现良好的性能


回答:也许吧。如果在对索引进行碎片整理后,性能立即提高,那么我的第一个问题是:哪些索引,以及它们为什么要进行碎片整理?您是否基于唯一标识符进行集群?你的统计数据是最新的吗?执行计划是什么样子的?

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

1/
重新编译可以节省您的时间。通过重新编译SP,这会增加总的执行时间,但可以确保您拥有最佳的执行计划

2/
KEEPFIXED PLAN
也可以是一个选项

3/如果您有一组从统计角度来看具有“代表性”的参数,那么值得尝试使用
优化

4/监控相关表和索引的碎片级别。检查是否有大量更新SP使用的表的语句。如果有,(
updatestatistics;

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


您可以进一步了解详细信息并查看。

您应该尝试通过重新编译来执行它。您还应该包括您的程序。谢谢。让我试一试。能否提供有关此SP的更多详细信息?任何代码、代码片段、算法、参数都可能会给出更多提示……对不起,我是个新手。请您指导我如何理解它?谢谢Mihai,我将进一步探索这些选项。