请教高手SQLServer2005分页查询怎么会越来越慢?

haifei123 2010-04-08 11:47:16
SELECT * FROM (SELECT ROW_NUMBER() OVER ( ORDER BY recordid) ROWNUM, * FROM tdbase) CAL 

WHERE ROWNUM BETWEEN 2000000 AND 2002000 ORDER BY recordid


每次读取2000条数据插入到另外一张表。当读到10万以上的时候就会非常的慢。读取一次需要10S

请教高手有没有优化的方式或者其他分页查询方式,谢谢。
...全文
185 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
haifei123 2010-04-08
  • 打赏
  • 举报
回复
存储过程在数据量大的情况下速度也会慢嘛? 就没有优化的方式嘛?
--小F-- 2010-04-08
  • 打赏
  • 举报
回复
数据量越大当然会越慢 建议改用存储过程

直接的语句每次都需要编译 而存储过程只需要编译一次
haifei123 2010-04-08
  • 打赏
  • 举报
回复
补充一下,从
BETWEEN 1 AND 2000 就很快  但是 2000000 AND 2002000 就不行了
haifei123 2010-04-08
  • 打赏
  • 举报
回复
一分都不给
haifei123 2010-04-08
  • 打赏
  • 举报
回复
现在世道为什么变得这么功利,这里主要是一个技术交流的平台。现在确实没分了。
nzperfect 2010-04-08
  • 打赏
  • 举报
回复
300分,我告诉你。
aspluo 2010-04-08
  • 打赏
  • 举报
回复
为什么要用 sql2005自带的呢?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧