分页的几点看法
来源:互联网 发布:windows 命名管道 lpc 编辑:程序博客网 时间:2024/04/29 08:41
一下将简单接收分页的方式,从内存分页,数据库limit分页,混合分页去介绍
内存分页
通过字眼,就能知道其大概意思,把数据都放到内存中,根据页数和每页的个数,取出每一页的数据,java中比较常用的是使用sublist取出子串。代码如下
int count =totalList.size(); //获取总个数 int totalPages;//总页数 if(count%10==0){ totalPages=count/10; }else { totalPages=count/10+1; } if(pageNum>totalPages){ pageNum=1; } int fromIndex = (pageNum - 1) * 10; int toIndex = pageNum * 10; if (toIndex > count) { toIndex = count; } List<Object> sublList = totalList.subList(fromIndex, toIndex);这类型的分页,适合于数据量比较小的,若数据比较大,放图片等,则很可能会产生oom
数据库limit分页
SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset
这个应该是使用比较多分页SQL查询语句,首先这个一个问题就是随着页数增加偏移量会越来越大,关于这点优化详见Mysql分页之limit用法与limit优化若分页比较小,而数据量又比较大,这样就会频繁的访问数据库,也会造成瓶颈问题。
混合分页
在数据量比较多时,可以采用平衡策略,
每次访问数据库,查出10页的数据,把这10页数据放在内存中分页,这样一方面减少对数据库频繁访问,又可以防止内存中过多数据,速度上也会很快。
每种分页各有各的用武之地,使用的时候要更具自己实际需要去选择。
0 0
- 分页的几点看法
- 系统分析的几点看法
- 几点前辈的项目的看法。
- 实现职业规划的几点看法:
- 对于手机网游的几点看法
- 关于UML的几点看法
- 对大学的几点看法
- 关于房价的几点看法
- 关于SIP协议的几点看法
- 对房地产市场的几点看法
- 关于手机测试的几点看法
- WebKit编译的几点看法
- 关于网站运营的几点看法
- Android Context的几点看法
- 对IntentService的几点看法
- Android Context的几点看法
- 关于外部顾问的几点看法
- 对多媒体框架的几点看法
- 政策红利能否让中国移动称霸4G?
- php-PDO-预处理绑定参数的一个细节
- mysql避免中文乱码
- esxi5.5U1 中hyper-v 无法启动问题
- Looper、Handler源码分析
- 分页的几点看法
- java 泛型
- jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL
- awk命令学习
- C#中对XML的读取操作
- spring配置
- C_一维数组
- 万向节死锁(Gimbal Lock)
- The specified child already has a parent错误