改进了的诊断程序涉及在 SQL Server 中的残余谓词下推的查询执行计划

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 3107397
症状
某些 Microsoft SQL Server 中的查询执行计划包括评估在一个表或索引扫描/范围操作筛选器的模式。筛选器谓词中的某些部分可能匹配的索引键,因此可用于运行索引查找或范围扫描。谓词的其余部分被称作"残差",通过扫描或范围操作输出的每一行都必须检查。这对应于的筛选器运算符。但是,若要提高性能,SQL Server 可以推送到表访问运算符本身这样的筛选器。

虽然这种方法提高了整体,在某些情况 (例如,在与相关参数的敏感性是不准确的基数估计) 下的性能,扫描以下筛选器可能正在处理更多的行数超过预期。这一事实可能被隐藏查询性能故障排除过程时使用的实际执行计划,因为返回实际的行数将对应的驻留谓词应用后的行数和不实际的表或索引扫描的行数。
解决方案
为了提高诊断中症状部分所述的情况下,SQL Server 2012 Service Pack 3 (SP3) 和 SQL Server 2014 SP2 引入新 showplan XML 属性,实际行读取。此属性提供有关应用驻留谓词前行数读取由运算符的信息。

此功能是第一 introducedin 下列 SQL Server 的服务包。

有关 SQL Server 2012 Service Pack 3 (SP3) 的详细信息,请参阅 SQL Server 2012 Service Pack 3 中修复的错误.

有关 SQL Server 的服务包

服务包是累积的。每个新服务包中包含以前的服务包,以及任何新的解决办法中的所有修补程序。我们的推荐是应用最新的 service pack 和该 service pack 累积更新。不需要安装最新的服务包之前安装上一个 service pack。查找有关的最新服务包和最新的累积更新的更多信息下面文章中使用表 1。

如何确定版本、 版本、 更新 SQL Server 的级别和其组件
状态
Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

警告:本文已自动翻译

属性

文章 ID:3107397 - 上次审阅时间:11/16/2016 09:24:00 - 修订版本: 3.0

Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core

  • kbqfe kbsurveynew kbfix kbexpertiseadvanced kbmt KB3107397 KbMtzh
反馈