数据库索引相关问题

如何定位并优化慢查询Sql

  • 根据慢日志定位慢查询sql
  • 使用explain等工具分析sql
  • 修改sql或者尽量让sql走索引

根据慢日志定位慢查询sql

  1. 查询变量
    SHOW VARIABLES LIKE '%quer%';
    重点关注一下三个变量:


    变量.png
  2. 查询慢查询数量(本次会话,关闭客户端后重置为0)
    SHOW STATUS LIKE '%slow_queries%';
  3. 打开慢日志(数据库重启后失效)
    SET GLOBAL slow_query_log = ON;
  4. 设置1秒为慢查询(数据库重启后失效)
    SET GLOBAL long_query_time = 1;
  5. 重新连接数据库

使用explain等工具分析sql

  1. explain后面加上sql语句
  2. 关注TYPE、EXTRA字段
    2.1 TYPE中出现index或者all,表示全表扫描,需要优化。
    2.2 EXTRA中出现Using filesort或者Using temporary,需要优化

修改sql或者尽量让sql走索引

  1. 使用索引字段进行查询
  2. 对需要查询的字段创建索引
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容