mysql学习:性能调优与高可用

性能调优与高可用

用explain查看计划输出的信息,explain会输出

  1. possible_keys可能要用到的索引
  2. key为实际用到的索引
  3. key_len索引长度
  4. rows扫描行数
  5. type重点
    1. ALL全表扫描,效果最低
    2. index全索引扫描,比全表扫描好一点
    3. range范围索引扫描,尽量保证sql语句执行为此之上
    4. ref非唯一索引扫描,不用全表扫描
    5. eq_ref唯一索引扫描

慢sql相关

  1. 开启满查询日志
  2. 优化方法
    1. 覆盖索引
    2. 排序优化
    3. 避免索引失效

主从复制

  1. 主库修改数据后写入binlog,从库连接主库后会创建一个log dump线程发送binlog日志内容
  2. 从库创建一个IO线程连接主库的log dump线程,接收后把binlog信息写入relay log的中继日志里
  3. 接着从库还会创建一个用于回放binlog的sql线程,去读relay log中继日志,然后回放日志更新数据

分库分表

  1. 垂直分库:不同字段放到不同库里
  2. 水平分库:到达数量就分

mysql学习:性能调优与高可用
http://example.com/2024/04/15/mysql学习:性能调优与高可用/
作者
WoodQ
发布于
2024年4月15日
许可协议