概述
-
根据慢日志定位慢查询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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复