1

我不知道如何测试这两种获得我想要的方式的性能。

select * 
from table 
where column like '%'+left(getdate(),11)+"%

select * 
from table 
where
              DATEPART (DD, column) = DATEPART (DD, GETDATE())  
      AND     DATEPART (MM, column) = DATEPART (MM, GETDATE())  
      AND     DATEPART (YY, column) = DATEPART (YY, GETDATE())
4

1 回答 1

1

通常在 SQL 中,您可以循环执行该语句多次并计算每个语句的执行时间。这样做几次以确保并比较结果。

declare @startTime datetime
declare @endTime datetime
declare @execution BIGINT

SET @execution = 0

set @startTime = GETDATE()
while (@execution < 1000000)
begin    
    --TestSyntax goes here


    SET @execution = @execution + 1

end
set @endTime = GETDATE()

SELECT DATEDIFF(ms, @endTime, @startTime) AS 'TimeToExecute'

还知道,字符串比较在所有语言中通常都比较慢。

于 2012-10-09T02:07:25.043 回答