2012-10-09 56 views
1

我不知道如何测试这两种获取我想要的方式的性能。Sybase今日结果,双向比较

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()) 
+0

秒表?指标?更多细节? –

+0

带有datepart函数的第二个代码在我要维护的系统中随处可见。我只是好奇,如果我介绍第一个代码是否会有所改进。只是想知道其他人是否也这样做了。 – Iyas

+0

我正在寻找像...一样的答案“喜欢使用更多资源,或者日期部分组合使用更多资源”以及一些参考资料。 – Iyas

回答

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' 

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

+0

tq! TQ!我会等待几个小时,看看其他人是否有其他建议。 – Iyas