MySQL性能调优工具-explain

最为常见的扫描方式有:
(1)system:系统表,少量数据,往往不需要进行磁盘IO;
(2)const:常量连接;
(3)eq_ref:主键索引(primary key)或者非空唯一索引(unique not null)等值扫描;
(4)ref:非主键非唯一索引等值扫描;
(5)range:范围扫描;
(6)index:索引树扫描;
(7)ALL:全表扫描(full table scan);
image.png
(1)explain结果中的type字段,表示(广义)连接类型,它描述了找到所需数据使用的扫描方式;
(2)常见的扫描类型有:
    system>const>eq_ref>ref>range>index>ALL
    其扫描速度由快到慢;
(3)各类扫描类型的要点是:
    system最快:不进行磁盘IO
    const:PK或者unique上的等值查询
    eq_ref:PK或者unique上的join查询,等值匹配,对于前表的每一行(row),后表只有一行命中
    ref:非唯一索引,等值匹配,可能有多行命中
    range:索引上的范围扫描,例如:between/in/>
    index:索引上的全集扫描,例如:InnoDB的count
    ALL最慢:全表扫描(full table scan)
(4)建立正确的索引(index),非常重要;
(5)使用explain了解并优化执行计划,非常重要;

分享到:
关键词:MySQL

网友留言(0 条)

发表评论

验证码