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

  • 相关阅读:
    日志处理
    md5加密
    os 模块
    time模块
    函数的进阶
    参数 返回值
    文件操作
    集合 拷贝
    linux如何更快的远程拷贝?scp,tar,rsync?
    修改内核临时端口范围
  • 原文地址:https://www.cnblogs.com/lnsylt/p/13364249.html
Copyright © 2011-2022 走看看