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,是的,表格有一个自动增量字段。你会如何接近它?我很想知道你的解决方案将如何与戈登不同 –