暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL 上亿大表优化实践.pdf
171
11页
6次
2023-02-14
免费下载
2021/11/3
MySQL 上亿大表优化实践 - Jia-Xin - 博客园
https://www.cnblogs.com/YangJiaXin/p/10828244.html
1/11
MySQL 上亿大表优化实践
目录
背景
分析
select xxx_record语句
delete xxx_record语句
测试
实施
索引优化后
delete大表优化为小批量删除
总结
背景
XX实例(一主一从)xxx告警中每天凌晨在报SLA报警,该报警的意思是存在一定的主从延迟
(若在此时发生主从切换,需要长时间才可以完成切换,要追延迟来保证主从数据的一致性)
XX实例的慢查询数量最多(执行时间超过1s的sql会被记录),XX应用那方
每天晚上在做删除一个月前数据的任务
分析
使用pt-query-digest工具分析最近一周的mysql-slow.log
pt-query-digest --since=148h mysql-slow.log | less
结果第一部分
最近一个星期内,总共记录的慢查询执行花费时间为25403s,最大的慢sql执行时间为266s,
平均每个慢sql执行时间5s,平均扫描的行数为1766万
结果第二部分
导航
博客园
首页
新随笔
联系
订阅
管理
< 202111 >
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4
5 6 7 8 9 10 11
公告
昵称: Jia-Xin
园龄: 4年4个月
粉丝: 32
关注: 2
+加关注
搜索
找找看
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
最新随笔
1.MySQL replace into那些
隐藏的风险
2.跨时代的MySQL8.0新特性
解读
3.MySQL MyISAM和Innod
b表生成序列
4.pt-archiver归档数据 源库
和目标库是否会出现不一致
5.MySQL 5.7和8.0性能测试
6.MySQL 8.0 information_s
chema系统库的改进
7.MySQL 全文索引实现简单
版搜索引擎
8.MySQL 逻辑备份mysqldu
mp&mysqlpump&mydum
per原理解析
9.MySQL 如何优化cpu消耗
10.Linux 性能优化解析
我的标签
MySQL5.7(17)
MySQL8.0(9)
Linux(4)
首页 新闻 博问 专区 闪存 班级
代码改变世界
注册 登录
jiaxin_12
万物之中,希望至美,至美之物.....
随笔 - 33, 文章 - 0, 评论 - 22, 阅读 - 90596
2021/11/3
MySQL 上亿大表优化实践 - Jia-Xin - 博客园
https://www.cnblogs.com/YangJiaXin/p/10828244.html
2/11
select arrival_record操作记录的慢查询数量最多有4万多次,平均响应时间为4s,delete
arrival_record记录了6次,平均响应时间258s
select xxx_record语句
select arrival_record 慢查询语句都类似于如下所示,where语句中的参数字
段是一样的,传入的参数值不一样
select count(*) from arrival_record where product_id=26 and
receive_time between '2019-03-25 14:00:00' and '2019-03-25 15:00:00'
and receive_spend_ms>=0\G
select arrival_record 语句在mysql中最多扫描的行数为5600万、平均扫描的行数为172万,
推断由于扫描的行数多导致的执行时间长
查看执行计划
explain select count(*) from arrival_record where product_id=26 and
receive_time between '2019-03-25 14:00:00' and '2019-03-25 15:00:00'
and receive_spend_ms>=0\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: arrival_record
partitions: NULL
type: ref
possible_keys: IXFK_arrival_record
key: IXFK_arrival_record
key_len: 8
ref: const
rows: 32261320
filtered: 3.70
Extra: Using index condition; Using where
1 row in set, 1 warning (0.00 sec)
用到了索引IXFK_arrival_record,但预计扫描的行数很多有3000多w行
show index from arrival_record;
+----------------+------------+---------------------+--------------+------
--------+-----------+-------------+----------+--------+------+------------
+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name |
Collation | Cardinality | Sub_part | Packed | Null | Index_type |
Comment | Index_comment |
+----------------+------------+---------------------+--------------+------
--------+-----------+-------------+----------+--------+------+------------
+---------+---------------+
| arrival_record | 0 | PRIMARY | 1 | id | A | 107990720 | NULL | NULL | |
BTREE | | |
MySQL5.6(4)
MySQL 优化(3)
故障处理(3)
MySQL 主从复制(2)
逻辑备份(2)
Linux性能优化(1)
MySQL工具(1)
更多
随笔档案
2020年11月(1)
2020年10月(1)
2020年3月(1)
2019年9月(1)
2019年7月(3)
2019年6月(1)
2019年5月(6)
2019年4月(5)
2019年3月(4)
2019年1月(2)
2018年12月(2)
2018年9月(1)
2018年8月(2)
2018年4月(3)
阅读排行榜
1. MySQL 5.7和8.0性能测试(2
5467)
2. Linux 查看文件被那个进程
写数据(9221)
3. MySQL 全文索引实现简单
版搜索引擎(8448)
4. MySQL 上亿大表优化实践
(5608)
5. MySQL 字符集utf8和utf-8
的关系(4816)
评论排行榜
1. MySQL 5.7和8.0性能测试
(9)
2. MySQL 上亿大表优化实践
(7)
3. MySQL 如何优化cpu消耗
(2)
4. 跨时代的MySQL8.0新特性
解读(1)
5. MySQL 全文索引实现简单
版搜索引擎(1)
推荐排行榜
1. 跨时代的MySQL8.0新特性
解读(12)
2. MySQL 上亿大表优化实践
(10)
3. MySQL 5.7和8.0性能测试
(5)
4. MySQL 全文索引实现简单
版搜索引擎(5)
5. MySQL 如何优化cpu消耗
(2)
最新评论
1. Re:跨时代的MySQL8.0新
特性解读
good! 学习了
--gegeman
2. Re:MySQL 5.7和8.0性能
测试
大佬,您好~我是51testing
软件测试网编辑,您这篇文
章写的很好,想要转载到我
们平台上让更多的人看到,
of 11
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜