千家信息网

如何定位并优化慢查询sql

发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容主要讲解"如何定位并优化慢查询sql",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何定位并优化慢查询sql"吧!根据慢日志定位慢查询sqlmys
千家信息网最后更新 2025年02月03日如何定位并优化慢查询sql

本篇内容主要讲解"如何定位并优化慢查询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"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0