`
zhoushu126
  • 浏览: 79301 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

mysql如何实现高效分页(转)

阅读更多

 

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行。效率大大提高了!

但是,这样分页的缺点是只能提供上一页、下一页的链接形式。

分享到:
评论

相关推荐

    Mysql高效分页详解

    通常情况下,为了实现高效分页,需要在查询中WHERE条件列和排序列应用组合索引。 例如,建立索引(a,b,c)使得以下查询可以使用索引,提高查询效率: 1、字段排序 ORDER BY a ORDER BY a,b ORDER BY a, b, c ORDER...

    mysql分页性能探索

    扶梯方式在技术实现上比较简单及高效,根据当前页最后一条的偏移往后获取一页即可。写成SQL可能类似 SELECT*FROMLIST_TABLEWHEREid&gt; offset_id LIMIT n; 1.电梯方式 另外一种数据获取方式在产品上体现成精确的...

    jsp人事工资管理系统(jsp+javabean+servlet+mysql).zip

    员工模块使用分页技术实现展示员工信息,添加员工,删除员工,修改员工信息与查询员工等功能,部门管理使用分页技术实现显示部门信息,添加部门,删除部门,修改部门信息等功能,考勤模块使用分页技术显示员工考勤...

    JAVA毕业设计之智慧图书管理系统设计与实现(springboot+mysql)完整源码.zip

    该系统旨在为用户提供一个高效、便捷的图书管理平台,实现图书的增删改查、用户管理、借阅记录管理等功能。以下是该项目的主要功能和技术特点:使用Spring Boot作为后端框架,简化了项目的配置和部署过程,提高了...

    MYSQL管理系统(AMS) 1.5.0107.zip

    欢迎使用 PHP MYSQL数据库管理系统-AMS-易用安全高效的MYSQL管理系统。 MYSQL管理系统(AMS) 1.5.0107 更新内容: 1、增加MySQL用户权限管理插件。 (Loc用户反馈: jumpsky) 2、提高数据查询响应速度。(CSDN用户...

    sqlserver分页查询处理方法小结

    几种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

    Amysql(AMS) v1.5.0107

    AMS-易用安全高效的MySQL管理系统。Amysql - AMS简介01) 高效 强大的多行SQL执行能力,支持一次执行多行SQL并多窗口完美表现各行SQL的运行结果。03) 高亮 实现版块以JS扩展形式预载,数据库列表、数据请求发送等以...

    MySQL管理系统 AMS v1.5.0107

    AMS-易用安全高效的MYSQL管理系统。 Amysql - AMS简介 01) 高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。 02) 强大: 强大的多行SQL执行能力,支持一...

    PhP框架DoitPHP v1.5 MySql版.zip

    五、提供了PHP程序开发中常用的操作类库,无论是COOKIE、SESSION的操作,还是实现网页页面的分页效果,实现音频、视频、图片幻灯片的播放,生成RAR、EXCEL、PDF等文件类型的文件,实现MEMCACH、XCACHE、APC等常见的...

    1、用户模块-日志管理-带条件的分页操作-代码编写

    华智经纬CMS是一套基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点,支持mysql、oracle、sqlserver等数据库。强大、灵活的标签,用户自定义显示内容和显示方式完全生成全站静态页面,可自定义...

    删除-其他类别分页QQ菜单jsp标签-noka3.9.zip

    这个项目是一个基于Java语言开发的Web应用程序,采用SSM(Spring+SpringMVC+MyBatis)或SSH...通过这些技术和工具的组合,可以实现一个高效、可靠、易于维护的Web应用程序,满足用户的需求,并提供良好的用户体验。

    AMS v1.0 MySQL数据库管理系统.rar

    Amysql - AMS简介 01) 高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。 02) 强大: 强大的多行SQL执行能力,支持一次执行多行SQL并多窗口完美表现各行SQL的...

    MySQL管理系统 AMS v1.5.0107.zip

    AMS-易用安全高效的MYSQL管理系统。 Amysql - AMS简介 01) 高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。 02) 强大: 强大的多行SQL执行能力,支持一...

    Amysql(AMS)官方版 v1.5.0107

    这是一款Amysql(AMS)官方版 v1.5.0107,该源码AMS-易用安全高效的MySQL管理系统。Amysql - AMS简介,高效: 应用AMP-PHP框架与AMF-JS后台框架开发,支持同时运行多个数据库、数据表窗口、支持自定义扩展插件等。强大:...

    Mycat-server-1.6-RELEASE源码

    支持通过全局表,ER关系的分片策略,实现了高效的多表join查询。 支持多租户方案。 支持分布式事务(弱xa)。 支持XA分布式事务(1.6.5)。 支持全局序列号,解决分布式下的主键生成问题。 分片规则丰富,插件化开发...

    jsp人事管理系统课程设计实验报告.doc

    员工模块使用分页技术实现展示员工信息,添加员工,删除员工,修改员工信息与查询员工等功能,部门管理使用分页技术实现显示部门信息,添加部门,删除部门,修改部门信息等功能,考勤模块使用分页技术显示员工考勤...

    iCMSDreamArticlephp文章管理系统v3.2GBK

    iCMS 是一个采用 PHP 和 MySQL 数据库构建的高效内容管理系统,为中小型网站提供一个完美的解决方案。3.2版本实现了程序、静态、图片分离 --------------------------------------- 修复FireFox 分页代码问题 修复...

    3、用户模块-日志管理-多条件的查询分页操作-代码编写

    华智经纬CMS是一套基于java技术开发,继承其强大、稳定、安全、高效、跨平台等多方面的优点,支持mysql、oracle、sqlserver等数据库。强大、灵活的标签,用户自定义显示内容和显示方式完全生成全站静态页面,可自定义...

    Springboot学生读书笔记共享.zip

    SpringBoot学生读书笔记共享是一款基于...采用分页插件实现分页功能,优化数据加载速度。总之,SpringBoot学生读书笔记共享平台为用户提供了一个便捷、高效的读书笔记共享环境,有助于学生之间的知识交流和学习进步。

Global site tag (gtag.js) - Google Analytics