执行真实计划 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执行计划中的BUFFER SORT是啥意思呢,请高手指点