文章目录
- 几千万数据量大表做MySQL主从崩了,该如何优化?
- 为啥禁用IP直连
- 为啥主键使用代理主键,而不是业务主键
- 报表分析使用ES
- Explain 可视化Visual_Explain
- 一致性Hash解决MySQL分库库容问题
- 不建议在 Docker 中跑 Mysql
- 优雅地进行数据归档
- 倒排索引分库分表优化
- memory引擎表
几千万数据量大表做MySQL主从崩了,该如何优化?
问题分析:MySQL 主从 是单线程 binlog实现数据复制,几千万 数据就是灾难!!
可以使用 数据迁移工具、任务调度等,如DataX / Kettle 完成数据迁移
为啥禁用IP直连
使用域名,可以解耦
为啥主键使用代理主键,而不是业务主键
代理主键自增
,更好的性能
再次插入会冲突
报表分析使用ES
Explain 可视化Visual_Explain
链接:https://pan.baidu.com/s/1Mwz9zKPCroiPSZGbZ82ung
提取码:yyds
一致性Hash解决MySQL分库库容问题
虚拟节点,再构建一个映射表
不建议在 Docker 中跑 Mysql
优雅地进行数据归档
倒排索引分库分表优化
倒排索引:
优点
通用的分库分表检索方案
缺点
多 一次查询,性能 有多降低
需要 维护数据库与缓存的数据一致性,存在软状态
实际执行
再分析 analyze
explain analyze select * from weatherdata
explain analyze select * from m_weatherdata
memory引擎表
并发不高
,无法 使用sql的 redis可以考虑memory
无法使用索引优化
的场景、如模糊查询