MySQL优化

2021-06-13  本文已影响0人  atdoking
  1. 通过show status命令了解各种SQL的执行频率
  2. 定位执行效率低的SQL语句
    通过show processlist命令查看当前MySQL在进行的线程,包括线程的状态,是否锁表等,可以实时地查看SQL的执行情况,同时对一些锁表操作进行优化
  3. 通过explain分析低效SQL的执行计划
    type=ALL:全表扫描,遍历全表来找到匹配的行
    type=index:索引全扫描,遍历整个索引来查询匹配的行
    type=range:索引范围扫描,常见于<,<=,>,>=,between等操作符
    type=ref:使用非唯一索引扫描或唯一索引的前缀扫描,返回匹配某个单独值得记录行
    type=eq_ref:类似ref,区别就在使用的索引是唯一索引,对于每个索引键值,表中只有一条记录匹配;简单来说,就是多表连接中使用primary key或者unique index作为关联条件
    type=const/system,单标中最多有一个匹配行,查询起来非常迅速,所以这个匹配行中的其他列的值可以被优化器在当前查询中当做敞亮来处理
    type=NULL。不用范文表或者索引,直接就能够得到结果
  4. show profile能够更清楚的了解SQL执行的过程
  5. 通过trace分析优化器如果选择执行计划

以上就是整个优化过程

上一篇 下一篇

猜你喜欢

热点阅读