我有以下选项
这就是我的工作,
DECLARE @startTime DATETIME
SET @startTime = GETUTCDATE()
EXEC MyStoredProc
PRINT 'Execution Time : ' + CAST(DATEDIFF(ms,@startTime,GETUTCDATE()) AS NVARCHAR(20)) + ' milliseconds'
但是我有时看到我从同一存储过程的两个方法得到的值之间存在很大差异,我开始认为我在这里做错了。我应该使用哪种方法?或者有更好的方法来计算存储过程的时间吗?
答案 0 :(得分:5)
确保每次运行以下内容以获得良好的基线:
CHECKPOINT
GO
DBCC DROPCLEANBUFFERS
GO
DBCC FREEPROCCACHE
GO
否则您可能会提取缓存数据。