点击蓝字关注我们!每天获取最新的编程小知识!

源 / php中文网      源 / www.php.cn

百万数据下mysql分页问题

(查看原文请点击本文末尾左下角:

在开发过程中我们经常会使用分页,核心技术是使用limit进行数据的读取。在使用limit进行分页的测试过程中,得到以下数据:

select * from news order by id desc limit 0,10

耗时0.003秒

select * from news order by id desc limit 10000,10

耗时0.058秒

select * from news order by id desc limit 100000,10

耗时0.575秒

select * from news order by id desc limit 1000000,10

耗时7.28秒

我们惊讶的发现mysql在数据量大的情况下分页起点越大查询速度越慢,100万条起的查询速度已经需要7秒钟。这是一个我们无法接受的数值!

改进方案 1

select * from news

where id >  (select id from news order by id desc  limit 1000000, 1)

order by id desc

limit 0,10

查询时间 0.365秒,提升效率是非常明显的!!原理是什么呢???

我们使用条件对id进行了筛选,在子查询 (select id from news order by id desc limit 1000000, 1) 中我们只查询了id这一个字段比起select * 或 select 多个字段 节省了大量的查询开销!

改进方案2

适合id连续的系统,速度极快!

select * from news

where id  between 1000000 and 1000010

order by id desc

不适合带有条件的、id不连续的查询。速度非常快!

-END-

声明:本文选自「 php中文网 」,搜索「 phpcnnew 」即可关注!

mysql 分页_百万数据下mysql分页问题相关推荐

  1. mysql 条件查询分页_百万数据下mysql条件查询及分页查询的注意事项

    接上一节<百万数据mysql分页问题>,我们加上查询条件:select id from news where cate = 1 order by id desc limit 500000 ...

  2. centos MySQL 双机_[原创]CentOS下Mysql双机互为备份

    一.环境: 1.安装Centos-6.5-x64位系统的机器两台: host1:192.168.2.3 host2:192.168.2.4  (互相能ping通) 2.安装Mysql. 命令:Yum ...

  3. discus mysql 性能_百万纪录级mysql数据库以及discuz!优化

    版权声明:可以在网上任意转载,转载时请务必以超链接形式标明文章原始出处.作者信息及本声明文字. 作者:shunz,出处:http://shunz.net/2008/06/mysql_discuz_.h ...

  4. mac下mysql不支持中文_解决mac下mysql无法使用中文的问题

    MySQL.png 针对 mac 系统下 mysql 无法使用中文,在网上查找解决办法,大部分都是将 mysql 下的 default.cnf 复制到 /etc下并修改为 my.cnf 然后对文件进行 ...

  5. linux如何mysql实现导出数据库,Linux下MySQL导入导出数据库

    linux下 一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径): 1.导出数据和表结构: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sq ...

  6. destoon7.0对mysql5..7优化,实现单台几百万数据下秒级速度

    destoon7.0对mysql5..7优化,实现单台几百万数据下秒级速度,可以缓解吃内存的情况,希望对大家有帮助 记得要备份数据,以防万一,代码附上 ALTER TABLE `destoon_sel ...

  7. 内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理

    内核知识第九讲,32位下的分页管理,36位下的分页管理.以及64位下的分页管理 一丶熟悉WinDbg的常见命令. dd 虚拟地址      显示内存. !dd 加上!,        ! dd 物理地 ...

  8. 远程访问mysql数据库_关于远程连接MySQL数据库的问题解决

    安装MySQL sudo apt-get install mysql-server 这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置. 配置MySQL ...

  9. linux上mysql允许远程连接,linux下mysql允许远程连接

    1. MySql安装教程 https://dev.mysql.com/doc/refman/5.7/en/linux-installation-yum-repo.html 默认情况下mysq的 roo ...

最新文章

  1. Android开发之触摸事件处理机制详解
  2. Python 进阶_OOP 面向对象编程_类和继承
  3. 递归算法学习系列之八皇后问题
  4. knx智能照明控制系统电路图_咻享智能|智能家居照明控制系统的功能特点
  5. 什么是 NoSQL 数据库、NoSQL 与 SQL 的区别
  6. 格式化显示(日期\货币)
  7. INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113
  8. 常用 API 函数(7): 位图、图标和光栅运算函数
  9. python 错误信息是:sudo :apt-get:command not found
  10. ylbtech-dbs:ylbtech-7,welfareSystem(福利发放系统)
  11. 如何用 Python 识别车牌?
  12. eviews时间序列分析课堂笔记
  13. Windows 7安装超级终端连接COM口设备
  14. hibernate两张表关联查询
  15. 最快零基础上手——latex文档标题、一级标题、二级标题、内容搭建
  16. UWP-Naïve Media Player 2.0
  17. SEED LABS初入
  18. 全国计算机软考网络管理员考试大纲(2012)
  19. 名校高考模拟试卷(试题)汇总(陆续更新)
  20. 项目经理如何做项目工作汇报?

热门文章

  1. 浏览器“四巨头”首度合作 解决网页适配问题
  2. B站就机房服务器故障道歉;罗永浩否认将启动自动驾驶项目;​亚马逊收购 Facebook 卫星互联网团队|极客头条...
  3. 2021年软件开发的五大趋势,低代码/无代码得到了验证!
  4. Java 8 的这个新特性,用起来真的很爽!
  5. 知乎技术热帖:Qt 这么强大为什么火不起来?
  6. 从技术风口到行业应用,开启区块链与产业深度融合之路
  7. 雷军谈小米10售价:不贵,交个朋友;百度开源首个口罩人脸检测模型;优麒麟18.04.4 LTS发布 | 极客头条...
  8. 你了解京东云区块链吗?点开有详情!
  9. 评分9.7! 这本Python神作,火爆编程圈!网友:太香!
  10. 主链 100 强榜单出炉, XRP 竟与比特币比肩; 以太坊每周产生 1248 种新代币 | 数据周榜...