zoukankan      html  css  js  c++  java
  • 【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索引

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

  • 相关阅读:
    java 设计模式 (一)
    多Linux安装
    华北电力大学 研究生学院 笔记
    电力大学 专升本
    19年 考研究生 过程
    netcat-flume-logger
    大神写的K8S 二进制安装笔记
    非常全的Mybatis学习笔记
    Docker-compose部署gitlab
    docker-compose 配合 dockerfile使用
  • 原文地址:https://www.cnblogs.com/lnsylt/p/13364249.html
Copyright © 2011-2022 走看看