执行真实计划 SQL Server

Posted

技术标签:

【中文标题】执行真实计划 SQL Server【英文标题】:Execution real plan SQL Server 【发布时间】:2021-05-24 18:47:26 【问题描述】:

我正在制定 SQL Server 上的执行计划(我是一名大三学生)。我使用真实的执行计划执行查询,如您在屏幕截图中看到的,我的连接百分比高于 100 %(此处为 139%)。

所以我想知道这是否正常,因为这是我第一次看到。

感谢您的回复!

实际执行计划:

【问题讨论】:

请以文本方式发布执行计划。 你可以更新你的统计数据,但是从性能调整的角度来看,当估计为 +-30% 时,你就可以了。 【参考方案1】:

该百分比表示实际行数与优化器估计的行数。

在这种情况下,优化器期望 11433900 行,但最终触及 15916500 行。 15916500/11433900 = 1.39, or, 139%.

请注意我刚刚运行的查询中执行计划的这一部分;

预期为 39,但实际为 40(40/39 = 1.02 或 102%)

【讨论】:

您好,谢谢!也许你可以回答我一些事情。当您有多个这样的连接时:select t.ok , t.test, t.sql, e.why from test t left join ens e on t.id = e.id group by t.ok , t.test , t.sql , e.why 关于在 group by 上选择索引,我会在 t.ok, t.test, t.sql 上选择非集群索引,但是对于 e.why 请如何处理。 ?

以上是关于执行真实计划 SQL Server的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER如何应用执行计划

dategrip 怎么看sql执行计划

SQL执行计划中的BUFFER SORT是啥意思呢,请高手指点

读懂执行计划

sql server 执行计划(execution plan)介绍

引用:初探Sql Server 执行计划及Sql查询优化