1 sql sql-server stored-procedures
我正在努力优化一个相当复杂的存储过程.我只是想知道我正在做些什么来跟踪改进是很好的做到这一点.
我设置了DBCC FREEPROCCACHE,我在SQL Management Studio中包含客户端统计信息.
我查看"客户端统计信息"选项卡上的"总执行时间",以确定我的更改是否使我的存储过程更快.
这是衡量存储过程改进的好方法吗?或者我应该关注其他领域?
查看执行查询所需时间的一种方法:.所以这个花了3秒钟.

如果要查看查询的性能,请启用客户端统计信息和执行计划以查看每个查询的性能.要打开客户端统计信息:
结果:

要启用执行计划:

结果:

您也可以尝试使用SET STATISTICS TIME ON SET STATISTICS IO ON.它们将向您显示每个语句所需的时间和I/O. 完成后别忘了关掉它们.(SET STATISTICS TIME OFF,SET STATISTICS IO OFF)
确保每次测试新查询时都清除查询缓存,以便旧查询不会影响新测试.要清除查询缓存,请执行以下代码:
CHECKPOINT;
GO
DBCC DROPCLEANBUFFERS; --Clears query cache
GO
DBCC FREEPROCCACHE; --Clears execution plan cache
GO
Run Code Online (Sandbox Code Playgroud)