温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何定位并优化慢查询sql

发布时间:2021-07-07 16:43:32 来源:亿速云 阅读:192 作者:chen 栏目:大数据

本篇内容主要讲解“如何定位并优化慢查询sql”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何定位并优化慢查询sql”吧!

  • 根据慢日志定位慢查询sql
    mysql> show variables like "%query%";
    +------------------------------+-------------------------------------------------+
    | Variable_name                | Value                                           |
    +------------------------------+-------------------------------------------------+
    | binlog_rows_query_log_events | OFF                                             |
    | ft_query_expansion_limit     | 20                                              |
    | have_query_cache             | YES                                             |
    | long_query_time              | 10.000000                                       |    查询时间
    | query_alloc_block_size       | 8192                                            |
    | query_cache_limit            | 1048576                                         |
    | query_cache_min_res_unit     | 4096                                            |
    | query_cache_size             | 1048576                                         |
    | query_cache_type             | OFF                                             |
    | query_cache_wlock_invalidate | OFF                                             |
    | query_prealloc_size          | 8192                                            |
    | slow_query_log               | OFF                                             | .  慢日志是否打开
    | slow_query_log_file          | /usr/local/mysql/data/tandeMacBook-Pro-slow.log |    慢日志log位置
    +------------------------------+-------------------------------------------------+
    
    
    mysql> set global show_query_log = on;   开启慢查询日志(最好写在配置文件)
    mysql> set global long_query_time = 1;   设置慢日志查询时间
    
    
    mysql> show status like "%slow_queries%";
    +---------------+-------+
    | Variable_name | Value |
    +---------------+-------+
    | Slow_queries  | 0     |    慢查询出现的次数
    +---------------+-------+
  • 使用explain等工具分析sql
  • mysql> explain select * from t_employee where name = "汪燕";
    +----+-------------+------------+------------+------+-------------------+-------------------+---------+-------+------+----------+-------+
    | id | select_type | table      | partitions | type | possible_keys     | key               | key_len | ref   | rows | filtered | Extra |
    +----+-------------+------------+------------+------+-------------------+-------------------+---------+-------+------+----------+-------+
    |  1 | SIMPLE      | t_employee | NULL       | ref  | idx_employee_name | idx_employee_name | 50      | const |    1 |   100.00 | NULL  |
    +----+-------------+------------+------------+------+-------------------+-------------------+---------+-------+------+----------+-------+

到此,相信大家对“如何定位并优化慢查询sql”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sql
AI