分页的思路实现

振星 2009-09-17 03:17:34
我在自己的数据库灌入了500W条记录,当然以后肯定是会有千万级以上的,我想咨询下,这样的情况下,采用如何的分页思想能最快速的查询出每页的记录集呢?
...全文
132 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qaz020 2009-09-17
  • 打赏
  • 举报
回复
存储过程
zhujiawei7 2009-09-17
  • 打赏
  • 举报
回复
count(*)在数据多时,是会很慢

可以写成count(id),只查询其中的一列,那速度是相当快的
netwar 2009-09-17
  • 打赏
  • 举报
回复
最主要的性能是查询的时候,所以你首先要把查询做些优化,取用到的数据

打个比方,

select top pagesize * from 表名 where id not in(select (当前页-1)*pagesize from 表名)

按这个公式来套,把要查询的字段做索引

另外
如果能不统计所有的数据,就尽量不要进行count(*)统计,这个在数据大的时候,非常慢。



zhujiawei7 2009-09-17
  • 打赏
  • 举报
回复
简单的分页思路就是在sql语句

select top(10)* from XXX where id not in (select top(0)id from XXX )

前一个TOP是每页要显示的数目,后一个TOP跟页数有关,(当前页数-1)*每页显示数目。

比如第1页 top(0) 第2页 top(10) ……


Pig23 2009-09-17
  • 打赏
  • 举报
回复
分区表+存储过程分页,网上老多了……
振星 2009-09-17
  • 打赏
  • 举报
回复
。。。可以加分啊
Jelindu 2009-09-17
  • 打赏
  • 举报
回复
1:拼接字符串
2:存储过程
3:aspnetPager
分太少了,就不贴代码了!
  • 打赏
  • 举报
回复
等待答案中
saishangpeiqian 2009-09-17
  • 打赏
  • 举报
回复
去这里下载现成的例子吧
直接就可以用
http://download.csdn.net/source/1600091

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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