我有一些参数化的查询,他们每次都在创建新的执行计划,我正在使用SQL Server 2016
查询如下:
(@P1 varchar(1043),@P2 varchar(6))
UPDATE table
SET FILEDATA=@P1
WHERE FILEID=@P2
此查询未使用缓存中已生成的执行计划,而是每次执行时都创建新计划
This image shows the plancount an individual query is creating
我过去曾经遇到过这种情况,以下内容为我解决了这个问题:
(@P1 varchar(1043),@P2 varchar(6))
UPDATE database.dbo.table
SET database.dbo.table.FILEDATA=@P1
WHERE database.dbo.FILEID=@P2
通常情况下,我不会这样写我的查询,因为它们似乎有点难以阅读,但是当我得到大量计划时,它对我来说很有用。