Mysql 大表分页查询优化(二)

栏目: 数据库 · Mysql · 发布时间: 7年前

内容简介:开发同学按照传达的精神使用了上次说的大表翻页优化的方式在做翻页查询了。执行时间97秒。执行查看表总数都执行了

开发同学按照传达的精神使用了上次说的大表翻页优化的方式在做翻页查询了。执行时间97秒。

select a2.id,a2.keyword,a2.url from (select id from table_name order by id asc limit 73575000, 5000) a1, table_name a2 where a1.id=a2.id

Mysql 大表分页查询优化(二)

select count(*) from table_name;

执行查看表总数都执行了 70292.60ms ,总行数是 118345950 行。

对于这种表,做大表翻页优化,也已经无效了。那应该怎么弄呢?

我们先不去纠结历史原因,为什么没有分表。着眼解决当前的问题。

问下具体开发的同学,是在全表扫描这个表是否命中一些违禁词。这样就好办了。我们只需要“ 分段扫描就行了呀

select id from table_name where id>73575000 order by id asc limit 0, 5000

执行时间 19.63ms

select a2.id,a2.keyword,a2.url from (select id from table_name where id>73575000 order by id asc limit 0, 5000) a1, table_name a2 where a1.id=a2.id

执行时间 26.35ms ,又可以愉快的玩耍了。

总结

为什么可以这样写呢,因为这次是循环扫描,本次扫描就知道下次查询的起始 id。不会跳着访问。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

高效团队开发

高效团队开发

[日] 池田尚史、[日] 藤仓和明、[日] 井上史彰 / 严圣逸 / 人民邮电出版社 / 2015-7 / 49.00

本书以团队开发中所必需的工具的导入方法和使用方法为核心,对团队开发的整体结构进行概括性的说明。内容涉及团队开发中发生的问题、版本管理系统、缺陷管理系统、持续集成、持续交付以及回归测试,并且对“为什么用那个工具”“为什么要这样使用”等开发现场常有的问题进行举例说明。 本书适合初次接手开发团队的项目经理,计划开始新项目的项目经理、Scrum Master,以及现有项目中返工、延期问题频发的开发人......一起来看看 《高效团队开发》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具