我正在努力优化相当复杂的存储过程。我只是想知道我正在做些什么来跟踪改进是很好的。
我设置了DBCC FREEPROCCACHE,并且我在SQL Management Studio中包含了客户端统计信息。
我查看“客户端统计信息”选项卡上的“总执行时间”,以确定我的更改是否使我的存储过程更快。
这是衡量存储过程改进的一种方法吗?或者我应该关注其他领域?
答案 0 :(得分:8)
查看执行查询所需时间的一种方法: 。所以这个花了3秒钟。
如果要查看查询的性能,请启用客户端统计信息和执行计划以查看每个查询的性能。要启用客户端统计信息:
结果:
启用执行计划:
结果:
您也可以尝试使用 设置统计时间 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