美文网首页
MqSQL - 调优手段

MqSQL - 调优手段

作者: kyo1992 | 来源:发表于2021-04-21 08:50 被阅读0次

    SQL调优

    SQL 调优往往是解决数据库问题的第一步,往往投入少部分精力就能获得较大的收益。
    SQL 调优主要目的是尽可能的让那些慢 SQL 变快,手段其实也很简单就是让 SQL 执行尽量命中索引。

    开启慢 SQL 记录

    需要在 Mysql 配置文件中配置几个参数即可

    slow_query_log=on
    long_query_time=1
    slow_query_log_file=/path/to/log
    
    调优的工具

    使用 explain 这个命令来查看 SQL 语句的执行计划,通过观察执行结果很容易就知道该 SQL 语句是不是全表扫描、有没有命中索引。
    返回列意义:

    select_type:

    • SIMPLE 简单查询
    • UNION联合查询
    • SUBQUERY 子查询

    type:
    const:只有一条查询结果 & 主键/唯一索引
    eq_ref:联合查询 &主键/唯一索引&只有一条查询结果
    ref:非唯一索引
    range:使用索引进行范围查询时
    index:查询的字段是索引一部分,覆盖索引; 使用主键排序
    all:全表扫描

    ALL、index、range、 ref、eq_ref、const、system、NULL(从左到右,性能从差到好)
    ALL 代表这条 SQL 语句全表扫描了,需要优化。一般来说需要达到range 级别及以上。

    possible_keys:可选择的索引
    key:实际使用的索引
    rows:扫描的行数

    索引优化

    例如索引减少数据库扫描的行数,
    例如覆盖索引,联合索引,前缀索引等。

    优化数据访问

    减少请求的数据量,只查询必要的列,例如

    • 将 * 替换为要查询的列;
    • 只返回必要的行,使用limit限制返回行数;
    • 缓存重复查询的数据,例如使用redis缓存用户登录数据。
    重构查询方式

    数据量大的表,做分页,分批查询。

    相关文章

      网友评论

          本文标题:MqSQL - 调优手段

          本文链接:https://www.haomeiwen.com/subject/dmitlltx.html