首次执行后,为什么DATEDIFF会将结果加倍?

时间:2016-02-21 12:24:59

标签: sql-server tsql stored-procedures datediff getdate

我使用以下技术粗略估计通过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微秒。

我是否遗漏了这些变量初始化的方式?如果是这样,我错过了什么?

0 个答案:

没有答案
相关问题