数据库sql及索引优化

来源:互联网 发布:mac音频播放器 编辑:程序博客网 时间:2024/05/20 22:04

发现问题

  • 使用mysql慢查日志,对有效率的问题sql进行监控
  • 慢查日志分析工具mysqldumpslow,pt-query-digest
    这里写图片描述

    原则:查询次数多且每次查询时间长的sql
    IO大的sql(扫描的行数多)
    未命中索引的sql(扫描行数远大于返回的行数)

优化

sql优化

  • explain查询sql的执行查询
    这里写图片描述

    这里写图片描述

    这里写图片描述

  • max()查询 ——-》增加索引
  • count ()查询 ——-》区分count(* or null)与count(id)
  • 子查询优化为join查询
  • group by 优化
    这里写图片描述

  • limit优化(常常伴随order by从句使用)
    -
    这里写图片描述

索引 优化

索引可以优化查询效率但是降低写入效率

这里写图片描述

1, 重复索引  (主键id和unique(id)相当于定义了两次索引)2,冗余索引  (主键id和key(name,id))
  • 查询索引
    这里写图片描述
  • 删除不用的索引
原创粉丝点击