星期零

技术改变生活,分享让我们快乐!
随笔 - 159, 文章 - 0, 评论 - 234, 阅读 - 44万
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

大数据量下,分页的解决办法

Posted on   weekzero  阅读(655)  评论(0编辑  收藏  举报

大数据量,比如10万以上的数据,数据库在5G以上,单表5G以上等。大数据分页时需要考虑的问题更多。

比如信息表,单表数据100W以上。

分页如果在1秒以上,在页面上的体验将是很糟糕的。

优化思路:

1、主键索引,如ID自增列,主键

2、借助sqlserver的ROW_NUMBER()实现分页,分页时只需得到ID即可,如:

1
2
3
4
5
WITH NoPagedTable AS (
SELECT ROW_NUMBER() OVER (order by ctime desc) AS rowIndex,
ID
FROM tabletest
)select * from NoPagedTable WHERE rowIndex>=10000 and rowIndex<=10020

3、将得到的ID串成字符串,如(12,13,14,15,16),再将表中数据查询出,如:

1
select * from tabletest where ID in (12,13,14,15,16)

这样经测试,速度还是不错的。

 

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示