我是靠谱客的博主 激动紫菜,最近开发中收集的这篇文章主要介绍定位并优化慢查询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或者尽量让sql走索引

转载于:https://my.oschina.net/u/4000872/blog/3093878

最后

以上就是激动紫菜为你收集整理的定位并优化慢查询sql的全部内容,希望文章能够帮你解决定位并优化慢查询sql所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部