是否有更快或更有效的方法来选择下一个记录?在SQL Server中选择下一条记录的最快方法?
SELECT TOP 1 *
FROM MyTable
WHERE ID > @LastIDRead
ORDER BY ID
注:我需要的所有列
是否有更快或更有效的方法来选择下一个记录?在SQL Server中选择下一条记录的最快方法?
SELECT TOP 1 *
FROM MyTable
WHERE ID > @LastIDRead
ORDER BY ID
注:我需要的所有列
这是最快的方法,如果你有ID的聚集索引。
“下一个记录”在这里是不相关的,你想要的是根据它的ID获得记录。如果Id被索引,那将是最好的选择。
根据我提供的查询,您将如何解释?它没有选择下一个记录吗? –
是的,但我的意思是,“下一个”单词不重要,你在做什么是寻找一个特定的行,所以做WHERE ID = LastIDRead和passig LastIDRead asn当前ID + 1将是相同的 – Diego
问题与+ 1是当有差距时(例如删除记录) –
“ID”是您的群集索引吗? – MatBailie
你在使用游标吗? – podiluska
是ID是聚簇索引,否,这里没有涉及光标。 –