首页 > 解决方案 > 性能调优建议

问题描述

执行计划如下所述。具有此执行计划的 SQL 运行时间超过 16 分钟。SQL Server 不断更改有关应构建哪些索引的警告。请指教。

https://www.brentozar.com/pastetheplan/?id=BkyR0DIVU

标签: sql-serversql-execution-plan

解决方案


  • 您可以考虑更新 [TM].[dbo].[Tb] 表的统计信息,因为执行计划中的实际行数和估计行数之间存在巨大差异。

执行计划1

SQL Server 统计信息以及如何在 SQL 中执行更新统计信息

作为第二阶段,您可以为#QM 表创建选择性索引。 索引临时表

在您的哈希匹配排序运算符中,有一条警告“操作员在执行期间使用 tempdb 溢出数据,溢出级别为 1,操作员在执行期间使用 tempdb 溢出数据,溢出级别为 2”

在此处输入图像描述

更正由过时统计信息导致的查询计划中的 SQL Server TempDB 溢出


推荐阅读