高级农民工(H.F.H)
我思,故我在!(僕なら、僕ができる!)

导航

 

原则(最左前缀):

(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索引

 

 

Oracle  : 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用。

 

posted on 2020-07-23 08:29  农民工024  阅读(197)  评论(0编辑  收藏  举报