mysql学习:性能调优与高可用
性能调优与高可用
用explain查看计划输出的信息,explain会输出
- possible_keys可能要用到的索引
- key为实际用到的索引
- key_len索引长度
- rows扫描行数
- type重点
- ALL全表扫描,效果最低
- index全索引扫描,比全表扫描好一点
- range范围索引扫描,尽量保证sql语句执行为此之上
- ref非唯一索引扫描,不用全表扫描
- eq_ref唯一索引扫描
慢sql相关
- 开启满查询日志
- 优化方法
- 覆盖索引
- 排序优化
- 避免索引失效
主从复制
- 主库修改数据后写入binlog,从库连接主库后会创建一个log dump线程发送binlog日志内容
- 从库创建一个IO线程连接主库的log dump线程,接收后把binlog信息写入relay log的中继日志里
- 接着从库还会创建一个用于回放binlog的sql线程,去读relay log中继日志,然后回放日志更新数据
分库分表
- 垂直分库:不同字段放到不同库里
- 水平分库:到达数量就分
mysql学习:性能调优与高可用
http://example.com/2024/04/15/mysql学习:性能调优与高可用/