0
我想構建一個SQL查詢,在時間戳表中的兩個後續行上執行DateDiff。查詢顯示時間戳之間有多少毫秒。我最初的解決方案使用遊標來獲取行。然而,這是緩慢的,特別是因爲我正在處理超過170K的行。以下是查詢:如何加快使用遊標的查詢?
declare cur cursor for
select timestamp from TimeStamps
declare @firststamp datetime2
declare @secondstamp datetime2
fetch next from cur into @firststamp
while (@@FETCH_STATUS = 0)
begin
fetch next from cur into @secondstamp
print(DateDiff(millisecond, @firststamp, @secondstamp))
set @firststamp = @secondstamp
end
close cur
deallocate cur
有沒有辦法可以加快速度? 另外,是否有一個替代的查詢,我可以寫以獲得所需的結果?
您已經標記了問題「mysql」,但您使用的是SQL Server語法。請正確標記。 –
您在該表中定義了自動增量字段嗎? – Shadow
@Shadow,是的,表格有一個自動增量字段。你會如何接近它?我很想知道你的解決方案將如何與戈登不同 –