使用mysql慢查日志监控有效率问题的SQL语句
来源:互联网 发布:python多进程读取文件 编辑:程序博客网 时间:2024/05/21 05:39
通过慢查日志发现有问题的SQL
1、查询次数多且每次查询占用时间长的SQL
通常为pt-query-digest分析的前几个查询
2、IO大的SQL
注意pt-query-digest分析中的Rows examine项,既是扫描的行数越多,IO消耗越大
3、未命中索引的SQL
注意pt-query-digest分析中Rows examine和Rows send的对比,如果扫描的行数远大于发送的行数,那命中率太低了。
1、show variables like ‘slow_query_log’
2、设置变量
set global slow_query_log_file='/var/lib/mysql/mysql_slow_20170829.log'; //慢查日志的记录路径,变量路径一定是mysql用户和组有权限,否则设置失败
set global log_queries_not_using_indexes=on; //重点,不用索引的需要重点优化
set global long_query_time=1; //设置0.01秒,设置为0表示任何sql命令都会被记录
3、limit是mysql的语法
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录,一共输出n条
select * from table limit n
从索引0开始,一共输出n条
mysql> show variables like 'long_query_time';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 0.000000 |
+-----------------+----------+
1 row in set (0.00 sec)
mysql> show variables like 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+
1 row in set (0.00 sec)
mysql> show variables like 'slow%';
+---------------------+----------------------------------------+
| Variable_name | Value |
+---------------------+----------------------------------------+
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /var/lib/mysql/mysql_slow_20170829.log |
+---------------------+----------------------------------------+
3 rows in set (0.00 sec)
mysql> use sakila;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+----------------------------+
| Tables_in_sakila |
+----------------------------+
| actor |
| actor_info |
| address |
| category |
| city |
| country |
| customer |
| customer_list |
| film |
| film_actor |
| film_category |
| film_list |
| film_text |
| inventory |
| language |
| nicer_but_slower_film_list |
| payment |
| rental |
| sales_by_film_category |
| sales_by_store |
| staff |
| staff_list |
| store |
+----------------------------+
23 rows in set (0.00 sec)
mysql> select * from store limit 1,3;
+----------+------------------+------------+---------------------+
| store_id | manager_staff_id | address_id | last_update |
+----------+------------------+------------+---------------------+
| 2 | 2 | 2 | 2006-02-15 04:57:12 |
+----------+------------------+------------+---------------------+
1 row in set (0.00 sec)
mysql> quit;
Bye
zjy@ubuntu:~$ su parallels
Password:
parallels@ubuntu:/home/zjy$ sudo -i
[sudo] password for parallels:
root@ubuntu:~# tail /var/lib/mysql/mysql_slow_20170829.log
# Time: 2017-08-29T08:37:20.167516Z
# User@Host: root[root] @ localhost [] Id: 17
# Query_time: 0.000435 Lock_time: 0.000190 Rows_sent: 1 Rows_examined: 2
SET timestamp=1503995840;
select * from store limit 1,3;
# Time: 2017-08-29T08:38:45.837452Z
# User@Host: root[root] @ localhost [] Id: 17
# Query_time: 0.000007 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 2
SET timestamp=1503995925;
# administrator command: Quit;
root@ubuntu:~#
- 使用mysql慢查日志监控有效率问题的SQL语句
- 使用MySQL的慢查询日志找到低效的SQL语句
- MYSQL:使用慢查询日志定位效率较低的SQL语句
- MYSQL:使用慢查询日志定位效率较低的SQL语句
- MySQL优化:使用慢查询日志定位效率较低的SQL语句
- MySQL 慢日志监控
- mysql慢查日志
- Mysql使用profiling分析慢sql语句的原因
- MySQL:监控慢日志、错误日志、备份数据库的脚本
- mysql慢查询日志监控
- MySql优化--慢查日志
- mysql 慢日志开启 及explain 分析sql语句
- Mysql日志记录慢查询的SQL
- 通过MySQL慢查询日志定位执行效率低的SQL语句
- 【MySQL-性能优化3】 慢查日志的两个辅助工具
- mysql慢查日志分析工具:自带的mysqldumpslow
- mysql 慢查询日志的使用
- 跟踪监控MYSQL执行的sql语句
- kinect 1.8
- 方案数量
- UVA796
- 如何转载CSDN中的博客
- GET 还是 POST?
- 使用mysql慢查日志监控有效率问题的SQL语句
- Unity中关于场景漫游的两个方法(一)
- 连接到实验室服务器
- python 拔取网站
- 优先队列java-PriorityQueue
- Swoole整合ThinkPHP3.2系列教程二
- 记录一次.bat文件执行mysql语句
- CSS与HTML结合的方式
- UITextFieldDelegate