mysql如何实现高效分页
http://www.mianwww.com/html/2012/01/12747.html
MySQL数据库优化处理实现千万级快速分页
http://qianxunniao.iteye.com/blog/1333072
MySQL的分页的优化
http://blog.csdn.net/yueliangdao0608/article/details/3130442
转载
先看一下分页的基本原理(我拿的是CSDN那个百万级数据库来测试!):
SELECT * FROM `csdn` ORDER BY id DESC LIMIT 100000,2000;
耗时: 0.813ms
分析:对上面的mysql语句说明:limit 100000,2000的意思扫描满足条件的102000行,扔掉前面的100000行,返回最后的2000行。
问题就在这里,如果是limit 100000,20000,需要扫描120000行,在一个高并发的应用里,每次查询需要扫描超过100000行,性能肯定大打折扣。
在《efficient pagination using mysql》中提出的clue方式。
利用clue方法,给翻页提供一些线索,比如还是SELECT * FROM `csdn` order by id desc,按id降序分页,每页2000条,当前是第50页,当前页条目id最大的是102000,最小的是100000。如果我们只提供上一页、下一页 这样的跳转(不提供到第N页的跳转)。
那么在处理上一页的时候SQL语句可以是:
SELECT * FROM `csdn` WHERE id<=102000 ORDER BY id DESC LIMIT 2000; #上一页
耗时:0.015ms
处理下一页的时候SQL语句可以是:
SELECT * FROM `csdn` WHERE id>102000 ORDER BY id ASC LIMIT 2000; #下一页
耗时:0.015ms
这样,不管翻多少页,每次查询只扫描20行。效率大大提高了!
但是,这样分页的缺点是只能提供上一页、下一页的链接形式。
相关推荐
通常情况下,为了实现高效分页,需要在查询中WHERE条件列和排序列应用组合索引。 例如,建立索引(a,b,c)使得以下查询可以使用索引,提高查询效率: 1、字段排序 ORDER BY a ORDER BY a,b ORDER BY a, b, c ORDER...
扶梯方式在技术实现上比较简单及高效,根据当前页最后一条的偏移往后获取一页即可。写成SQL可能类似 SELECT*FROMLIST_TABLEWHEREid> offset_id LIMIT n; 1.电梯方式 另外一种数据获取方式在产品上体现成精确的...
员工模块使用分页技术实现展示员工信息,添加员工,删除员工,修改员工信息与查询员工等功能,部门管理使用分页技术实现显示部门信息,添加部门,删除部门,修改部门信息等功能,考勤模块使用分页技术显示员工考勤...
该系统旨在为用户提供一个高效、便捷的图书管理平台,实现图书的增删改查、用户管理、借阅记录管理等功能。以下是该项目的主要功能和技术特点:使用Spring Boot作为后端框架,简化了项目的配置和部署过程,提高了...
欢迎使用 PHP MYSQL数据库管理系统-AMS-易用安全高效的MYSQL管理系统。 MYSQL管理系统(AMS) 1.5.0107 更新内容: 1、增加MySQL用户权限管理插件。 (Loc用户反馈: jumpsky) 2、提高数据查询响应速度。(CSDN用户...
几种sqlserver2008高效分页sql查询语句 top方案: sql code: select top 10 * from table1 where id not in(select top 开始的位置 id from table1) max: sql code: select top 10 * from table1 whe
AMS-易用安全高效的MySQL管理系统。Amysql - AMS简介01) 高效 强大的多行SQL执行能力,支持一次执行多行SQL并多窗口完美表现各行SQL的运行结果。03) 高亮 实现版块以JS扩展形式预载,数据库列表、数据请求发送等以...
AMS-易用安全高效的MYSQL管理系统。 Amysql - AMS简介 01) 高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。 02) 强大: 强大的多行SQL执行能力,支持一...
五、提供了PHP程序开发中常用的操作类库,无论是COOKIE、SESSION的操作,还是实现网页页面的分页效果,实现音频、视频、图片幻灯片的播放,生成RAR、EXCEL、PDF等文件类型的文件,实现MEMCACH、XCACHE、APC等常见的...
华智经纬CMS是一套基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点,支持mysql、oracle、sqlserver等数据库。强大、灵活的标签,用户自定义显示内容和显示方式完全生成全站静态页面,可自定义...
这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH...通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。
Amysql - AMS简介 01) 高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。 02) 强大: 强大的多行SQL执行能力,支持一次执行多行SQL并多窗口完美表现各行SQL的...
AMS-易用安全高效的MYSQL管理系统。 Amysql - AMS简介 01) 高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。 02) 强大: 强大的多行SQL执行能力,支持一...
这是一款Amysql(AMS)官方版 v1.5.0107,该源码AMS-易用安全高效的MySQL管理系统。Amysql - AMS简介,高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。强大:...
支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。 支持多租户方案。 支持分布式事务(弱xa)。 支持XA分布式事务(1.6.5)。 支持全局序列号,解决分布式下的主键生成问题。 分片规则丰富,插件化开发...
员工模块使用分页技术实现展示员工信息,添加员工,删除员工,修改员工信息与查询员工等功能,部门管理使用分页技术实现显示部门信息,添加部门,删除部门,修改部门信息等功能,考勤模块使用分页技术显示员工考勤...
iCMS 是一个采用 PHP 和 MySQL 数据库构建的高效内容管理系统,为中小型网站提供一个完美的解决方案。3.2版本实现了程序、静态、图片分离 --------------------------------------- 修复FireFox 分页代码问题 修复...
华智经纬CMS是一套基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点,支持mysql、oracle、sqlserver等数据库。强大、灵活的标签,用户自定义显示内容和显示方式完全生成全站静态页面,可自定义...
SpringBoot学生读书笔记共享是一款基于...采用分页插件实现分页功能,优化数据加载速度。总之,SpringBoot学生读书笔记共享平台为用户提供了一个便捷、高效的读书笔记共享环境,有助于学生之间的知识交流和学习进步。