MySQL分页
来源:互联网 发布:centos websocket 编辑:程序博客网 时间:2024/06/05 16:28
MySQL分页
主要是MySQL数据库内置LIMIT函数
注意添加mysql的JAR包mysql-connector-java-5.1.13-bin.jar
select * from table LIMIT 5,10; // 检索记录行 6-15
在中小数据量的情况下,这样的SQL足够用了,唯一需要注意的问题就是确保使用了索引。随着数据量的增加,页数会越来越多,查看后几页的SQL就可能类似:
select * from content order by id desc limit 10000, 10
一言以蔽之,就是越往后分页,LIMIT语句的偏移量就会越大,速度也会明显变慢。
此时,我们可以通过2种方式:
一,子查询的分页方式来提高分页效率
select * from 'content' where id <= (select id from 'content' order by id desc LIMIT ".($page-1)*$pagesize.", 1) order by id desc LIMIT $pagesize;
为什么会这样呢?因为子查询是在索引上完成的,而普通的查询时在数据文件上完成的,通常来说,索引文件要比数据文件小得多,所以操作起来也会更有效率。
经过飘易的实测,使用子查询的分页方式的效率比纯LIMIT提高了14-20倍!
二,JOIN分页方式
select * from 'content' as t1 join (select id from 'content' order by id desc LIMIT ".($page-1)*$pagesize.", 1) as t2 where t1.id <= t2.id order by t1.id desc LIMIT $pagesize;
经过我的测试,join分页和子查询分页的效率基本在一个等级上,消耗的时间也基本一致。
0 0
- MYSQL分页
- MySql分页
- mysql 分页
- mySql 分页
- mysql分页
- MySql分页
- mysql 分页
- MYSQL 分页
- MYSQL 分页
- MySQL分页
- MySql分页
- MYSQL 分页
- mysql分页
- mysql 分页
- Mysql 分页
- mysql分页
- Mysql分页
- MySql 分页
- nginx源码分析--GDB调试
- Unix/Linux的命令行工具
- 黑马程序员----IO流
- listview在拖动的时候背景图片消失变成黑色背景的原因及解决方法
- C# Console IO
- MySQL分页
- 随手记——Java
- 位图排序
- C++中的类型转换
- 腾讯实习笔试2014.04.12
- uva 10465 Homer Simpson
- 安卓中drawBitmap绘制图像方法
- UML 时序图元素(Sequence Diagram Elements)
- 控矢该速孛肺币矢匙圆钦屡胰号衅