测量SQL查询中每个操作的时间

时间:2018-08-21 09:50:31

标签: sql sql-server database optimization

我有一个SQL查询,格式为(A⨝B)⨝(C⨝D)⨝(E⨝F)⨝(G⨝H)⨝(I⨝J),包含不同的联接。那有什么方法可以分别找到每个联接操作的时间,例如子表达式(A⨝B)可以花费多少时间。或者(C⨝D)可以。而不是整个表情。或者我们如何才能只找到子表达式(A⨝B)⨝(C⨝D)的时间。我已使用Java语言将SQL查询转换为树。提前致谢。我正在使用SQL Server实施查询

1 个答案:

答案 0 :(得分:0)

我不确定这是否是您需要的,但是如果可以拆分每个操作,则可以尝试使用DATEDIFF。

DECLARE @timer1 DATETIME
DECLARE @timer2 DATETIME

SET @timer1 = GETDATE()
--stuff to measure here
SET @timer2 = GETDATE()
SELECT DATEDIFF(millisecond,@timer1,@timer2 ) AS time_spent

我认为您可以比较不同的查询,看看哪一个查询效果最好。