假如有一个1亿数据的大表(表名是product_info):我们目标是按照某个条件遍历一次比如可能满足条件的数据有10w行,那么每次遍历的时候:

修改前sql: select distinct goods_id from product_info where unix_timestamp(update_time) <= 1643148095 and is_deleted = 0 limit 1000

修改后sql: select distinct goods_id from product_info where unix_timestamp(update_time) <= 1643148095 and is_deleted = 0 and id > #{id} limit 1000

性能差异:生产机器上执行修改前的sql耗时差不多10s,修改后的sql的耗时500ms左右,差距巨大,原理是修改后的sql加入主键列的范围条件后,全表扫描时遍历的行数明显减少了.

遍历mysql大表的小技巧相关推荐

  1. MySQL大表分页查询优化技巧

    一.问题复现 在实际的软件系统开发过程中,随着使用的用户群体越来越多,表数据也会随着时间的推移,单表的数据量会越来越大. 以订单表为例,假如每天的订单量在 4 万左右,那么一个月的订单量就是 120 ...

  2. mysql大表join小表速度很慢_mysql多表join中,为什么子查询会那么慢,怎么解决-问答-阿里云开发者社区-阿里云...

    下面的sql执行后cpu100%,但是这三张join的表数据量都在2W左右,不应该啊,是不是数据库服务器配置出了问题啊.sql如下:select a.excel_id, a.rpt_id, a.acc ...

  3. mysql 大表 驱动_MySql 小表驱动大表

    在了解之前要先了解对应语法 in 与 exist. in后的括号的表达式结果要求之输出一列字段.与之前的搜索字段匹配,匹配到相同则返回对应行. mysql的执行顺序是先执行子查询,然后执行主查询,用子 ...

  4. 史上最全MySQL 大表优化方案(长文)

    转载自  史上最全MySQL 大表优化方案(长文) 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 一.单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑 ...

  5. 解决MYSQL大表问题-实战篇(二)

    #首先上表结构 CREATE TABLE `sys_history` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`did` bigint(20) NOT NUL ...

  6. delete mysql 大表_无语了,直到今天,我才揪出MySQL磁盘消耗迅猛的“真凶”!

    作者:dbapower 链接:https://blog.51cto.com/suifu/2135599 背景 Part1:写在最前 当一张单表10亿数据量的表放在你面前,你将面临着什么? Part2: ...

  7. MySQL 大表优化方案(1)

    转载自  干货!!!MySQL 大表优化方案(1) 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分 ...

  8. 从云数据迁移服务看MySQL大表抽取模式

    摘要:MySQL JDBC抽取到底应该采用什么样的方式,且听小编给你娓娓道来. 小编最近在云上的一个迁移项目中被MySQL抽取模式折磨的很惨.一开始爆内存被客户怼,再后来迁移效率低下再被怼.MySQL ...

  9. mysql大表数据抽取_从云数据迁移服务看MySQL大表抽取模式

    摘要:MySQL JDBC抽取到底应该采用什么样的方式,且听小编给你娓娓道来. 小编最近在云上的一个迁移项目中被MySQL抽取模式折磨的很惨.一开始爆内存被客户怼,再后来迁移效率低下再被怼.MySQL ...

最新文章

  1. PHP学习2——基本语法
  2. python微博热点_用 Python 监控知乎和微博的热门话题
  3. c# 智能升级程序代码(2)
  4. Flutter TabBar 标签栏背景颜色、点击水波纹颜色配置
  5. 传统IO与NIO的区别
  6. python 离线安装numpy_Python本地安装numpy包
  7. (生物信息学)R语言与统计学入门(十)—— 多因素Cox回归分析
  8. 数据库中制作一个拼音缩写查询函数
  9. Java奇数与偶数的判断
  10. java for冒号_浅谈对Java双冒号::的理解
  11. pytorch学习笔记——2.4torch.nn模块简介
  12. 微信小程序创建直播间流程
  13. T155235 判断升序排列
  14. vagrant Linux虚拟机与win共享目录时的大小写及共享失败问题(vagrant share folder/synced_folder case sensitivity)
  15. No matching provisioning profile found: Your build settings specify a provisioning profile with the
  16. android模拟器设置静态ip,静态IP地址版EVE模拟器部署和使用说明
  17. PMBOK6相关方:权利利益方格
  18. 统信UOS系统Redis-5.0.5安装包方式部署
  19. grasps什么意思中文_grasps是什么意思_grasps怎么读_grasps翻译_用法_发音_词组_同反义词_抓住( grasp的第三人称单数 )-新东方在线英语词典...
  20. 今天,国外AI大厂破产,中国AI企业获18亿元融资!评论区炸了

热门文章

  1. 程序员该如在低代码和无代码开发中抉择?
  2. Google 员工公开 Windows 10 零日漏洞隐藏 Bug!
  3. JavaScript 简史:从网景到框架 | 技术头条
  4. mysqltimestamp默认值
  5. 第 5 章 虚拟机栈
  6. mysql 创建十万测试表_用MYSQL的存储过程创建百万级测试数据表
  7. python进程间通信总结_进程间通信方式总结(优缺点)
  8. python如何把二进制转文本_在python3中如何把文本转换为二进制
  9. 右键新建里面没有word和excel_Excel中为什么修改了新建工作簿的选项,新建以后还是没有生效...
  10. php操作mysql数据库的扩展有哪些_PHP mysql 扩展库 操作mysql数据库步骤