SQL 2005 分页查询代码 那个更效率?

[复制链接]
查看11 | 回复2 | 2009-6-20 18:08:09 | 显示全部楼层 |阅读模式
一共搜索到3个查询思路,但本人动手能力有限,制能问问各位高手们了!
以下是我总结的3个思路
1:读取选定记录!测试成功!
SELECT * FROM (select ROW_NUMBER() over (order by id) as rowNum, *from 表)as b where rowNum>(当前页数*每页记录数) and rowNum<=((当前页数+1)*每页记录数)
2:通过not in方法分页
select top 每页记录数 * from 表 where id not in(select top (每页记录数*(页数-1)) id from wap)
3:数据对比in方法,和上面异曲同工
select top 每页记录数 * from 表 where id in(select top (每页记录数*(页数+1)) id from 表 order by id) order by id desc
各位高手指点下小弟,那个更效率,或者你有更效率的分页代码施舍给小弟一个!

回复

使用道具 举报

千问 | 2009-6-20 18:08:09 | 显示全部楼层
使用双top,2和3其实是一样的,个人感觉最有效率,而且容易,复杂而冗长的语句其实我觉得反而无法体现出效率,而且相信SQL的处理速度,人家可是专业的,查询几十万条信息可是不用花费几秒钟的。...
回复

使用道具 举报

千问 | 2009-6-20 18:08:09 | 显示全部楼层
第一个!!下面用的都是子查询...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行