【MySQL】SQL文调优(B+Tree索引)

原则(最左前缀):

(1)Group By / Order By 中的字段,需要追加索引(index)

(2)join 的 on 关键字后的联合条件,需要追加索引(index)

(3)Where中的条件,需要追加索引(index)

(4)Like条件中, 右模糊查询(’XXX%‘),可以使用索引;左模糊查询(‘%XXX’),不可以使用索引。

(5)straight_join 强制指定表关联,优于left join。

(6)索引字段需要设定为“非空”。

(7)非主键索引列,会索引后自动追加主键索引。

(8)Distinct的字段需要追加索引(index)

 

MySQL : B+Tree索引

【MySQL】SQL文调优(B+Tree索引)

 

 

Oracle  : B-Tree索引

【MySQL】SQL文调优(B+Tree索引)

 

 

 

查询慢的SQL方法

(1)show variables like '%slow%';

(2)show variables like '%query_time%';   -- 单位(秒)

(3)show variables like 'log_output';

(4)Select * From 'mysql'.slow_log Where sql_text like '%join%';

工具:

  VisualVM,Skywalking,JavaMelody,Alibaba Druid

 

执行计划确认:

explain

select * from tbl_tmp;

结果确认点:

  (1)type=>ref级别,

  (2)key_len=>越小性能越优,

  (3)Extra=>Order By用。

 

上一篇:mysql


下一篇:mysql innodb 文件