繁体   English   中英

SQL Server 2014零星的查询性能很差

[英]SQL Server 2014 sporadic poor query performance

我们对同一查询的查询性能很差,只有不同的参数,我们不知道为什么会发生这种情况。

也许有人知道如何发生这种情况。

我们每天运行相同的查询数千次,不知何故,查询运行400ms而不是1ms。

我创建了一个跟踪文件来获取一些确切的查询导致问题的信息,并在跟踪日志中找到了这个:

exec sp_executesql 
           N'SELECT A.* 
             FROM Teile A 
             WHERE (A.Barcode = @P1)  
             ORDER BY A.Barcode ASC, A.ID ASC 
             OFFSET 0 ROWS FETCH FIRST 1 ROWS ONLY', 
           N'@P1 char(26)','1022669459                '

此查询从15:24:03.250开始,并在15:24:03.650 =>持续时间400ms停止。

在执行查询期间

exec sp_executesql 
           N'SELECT A.* 
             FROM Teile A 
             WHERE (A.Barcode = @P1)  
             ORDER BY A.Barcode ASC, A.ID ASC 
             OFFSET 0 ROWS FETCH FIRST 1 ROWS ONLY', 
           N'@P1 char(26)','1015092284                '

从15:24:03.450开始,在15:24:03.451 =>持续时间1ms停止。

有没有人知道为什么同一个查询只有一个不同的参数执行速度很慢而另一个只是1ms的平均值?

我在smss中尝试了第一个查询,但在那里我总是得到1ms的执行时间。 所以在我看来,服务器有时需要更多时间来执行查询,但我不知道为什么,也不知道为什么会发现。

非常感谢每一位帮助。

谢谢你,马库斯

看起来像参数嗅探或坏的统计数据。
试试以下:
1.更新表的统计信息
2.在查询结尾添加“OPTION(RECOMPILE)”
3.在查询结尾添加“OPTION(未知的优化)”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM