首页 > 解决方案 > 对 SQL Server 中的长时间运行时间进行基本故障排除的建议

问题描述

我正在编写一份 SSRS 报告,并在后端运行了一个半大型 SQL Server 查询。

我的查询有大约 10-15 个子查询,并且发现其中一些会减慢我的运行时间,以至于用户无法使用(运行时间为 10-15 分钟)。

是否有人对故障排除有任何建议,以查找我的查询中的哪些内容减慢了其执行速度?我想保持简单(最好没有附加组件),我只是想找出问题所在,以便我可以根据需要进行重组。

我是 SQL Server 的新手,并且是中等强度的查询编写器。任何关于使用哪些功能的指针都会很棒。提前致谢!

标签: sqlsql-serverruntimessrs-2008ssms

解决方案


一个好的起点是使用“Display Estimated Execution Plan”(Ctrl+ L)在 SSMS 中执行相同的查询。这将解析查询并为您提供一个查询计划,您可以检查该计划以查看使用大量 CPU 和/或 IO 的位置​​。

您还可以在启用“实际执行计划”的情况下在 SSMS 中执行相同的查询。这将执行查询并为您提供实际正在运行的内容。通常 Estimated 和 Actual 是相同的,但并非总是如此。从估计开始,因为您不必等待查询完成。

查找大型表扫描和丢失的索引。这些通常是最大的罪魁祸首。


推荐阅读