SQL分页有三种常用方法,按效率从高到低:
1.效率最高
SELECT TOP(分页记录数) * FROM 表名 WHERE ID> ( SELECT ISNULL(MAX(ID),0) FROM ( SELECT TOP(分页记录数*(页码-1)) ID FROM 表名 ORDER BY ID ) A ) ORDER BY ID
2.效率次之
SELECT top(分页数) * FROM 表名 where ID not in ( SELECT Top(分页记录数*(页码-1)) ID from 表名 order by ID ) order by ID
3.效率最差却最通用,采用游标卡尺
SELECT TOP 分页记录数 * FROM ( SELECT ROW_NUMBER() OVER (ORDER BY ID) AS RowNumber,* FROM 表名 ) A WHERE RowNumber > 分页记录数*(页码-1)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步