gpt4 book ai didi

sql-server - MSSQL 2008 R2 选择特定范围内的行 - 分页 - 最好的方法是什么

转载 作者:行者123 更新时间:2023-12-03 03:29:12 25 4
gpt4 key购买 nike

目前这个sql查询能够在我确定的行之间进行选择。但是有没有更好的方法呢?

  select * from (select *, ROW_NUMBER() over (order by Id desc) as RowId 
from tblUsersMessages ) dt
where RowId between 10 and 25

最佳答案

取决于您的索引。

有时这可能会更好

SELECT *
FROM tblUsersMessages
WHERE Id IN (SELECT Id
FROM (select Id,
ROW_NUMBER() over (order by Id desc) as RowId
from tblUsersMessages) dt
WHERE RowId between 10 and 25)

如果存在更窄的索引,可用于快速查找范围内的 Id 值。 See my answer here举例说明可能出现的问题类型。

您需要针对具体情况检查SET STATISTICS IO ON的执行计划和输出。

关于sql-server - MSSQL 2008 R2 选择特定范围内的行 - 分页 - 最好的方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com