我使用以下技术粗略估计通过SSMS(SQL Server Management Studio)执行存储过程所用的时间:
USE [MyDB]
GO
DECLARE @t1 DATETIME;
DECLARE @t2 DATETIME;
SET @t1 = GETDATE();
DECLARE @TTIdsList dbo.TTIdsList_ident
INSERT INTO @TTIdsList(Id)
VALUES (7890137988314100)
DECLARE @return_value int
EXEC @return_value = [mySCH].[DataLoadByList]
@CaseIds = @TTIdsList
SELECT 'Return Value' = @return_value
SET @t2 = GETDATE();
SELECT DATEDIFF(microsecond,@t1,@t2) AS elapsed_us;
GO
它运行良好但在第一次执行时返回不同的结果(3000微秒)。在所有后续执行中,它返回两倍:6000微秒。
我是否遗漏了这些变量初始化的方式?如果是这样,我错过了什么?