mysql 优化--定位慢查询
2017-01-04 11:36
441 查看
MySQL慢查询配置
1. 慢查询有什么用?
它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.
2. 如何开启慢查询?
首先我们先查看MySQL服务器的慢查询状态是否开启.执行如下命令:
show variables like '%quer%';
我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询.
开启慢查询非常简单, 操作如下:
在[mysqld]中添加如下信息:
log-slow-queries="D:/phpstudy/MySQL/log/mysql-slow.log"
long_query_time = 1
log-queries-not-using-indexes
log-slow-queries: 代表MYSQL慢查询的日志存储目录, 此目录文件一定要有写权限;
Windows下需要写绝对路径,如:log-slow-queries="C:/Program Files/MySQL/MySQL Server 5.5/log/mysql-slow.log"
这里是: D:/phpstudy/MySQL/log/mysql-slow.log
long_query_time: 最长执行时间. (如图, MSYQL将记录下所有执行时间超过2条的SQL语句, 此处为测试时间, 时间不应太小最好在5-10秒之内, 当然可以根据自己的标准而定);
log-queries-not-using-indexes :没有使用到索引的查询也将被记录在日志中
慢查询会影响mysql的运行速度
此时mysql下的log文件下 文件中会出现一个文件
如果在mysql.ini中设置了时间就不用看了!
那么我们再次查询还量表中的数据之后
sql语句会不会记录到该文件中去;因为mysql中的默认记录查询语句时间为10s
我们怎么看呢?
下面我们可以在进入mysql模式下输入
show variables;
这里显示的就是mysql 中的详细变量具体可以去查询mysqlk 手册
这是我们输入慢查询变量时间的语句
show variables like 'long_query_time';
如果在mysql.ini中设置了这里就不用再次设置了
设置查询时间为1s
set long_query_time=1;
我们再次查询语句
此时大于1秒
打开我们的log 文件
改语句就记录了下来
1. 慢查询有什么用?
它能记录下所有执行超过long_query_time时间的SQL语句, 帮你找到执行慢的SQL, 方便我们对这些SQL进行优化.
2. 如何开启慢查询?
首先我们先查看MySQL服务器的慢查询状态是否开启.执行如下命令:
show variables like '%quer%';
我们可以看到当前log_slow_queries状态为OFF, 说明当前并没有开启慢查询.
开启慢查询非常简单, 操作如下:
在[mysqld]中添加如下信息:
log-slow-queries="D:/phpstudy/MySQL/log/mysql-slow.log"
long_query_time = 1
log-queries-not-using-indexes
log-slow-queries: 代表MYSQL慢查询的日志存储目录, 此目录文件一定要有写权限;
Windows下需要写绝对路径,如:log-slow-queries="C:/Program Files/MySQL/MySQL Server 5.5/log/mysql-slow.log"
这里是: D:/phpstudy/MySQL/log/mysql-slow.log
long_query_time: 最长执行时间. (如图, MSYQL将记录下所有执行时间超过2条的SQL语句, 此处为测试时间, 时间不应太小最好在5-10秒之内, 当然可以根据自己的标准而定);
log-queries-not-using-indexes :没有使用到索引的查询也将被记录在日志中
慢查询会影响mysql的运行速度
此时mysql下的log文件下 文件中会出现一个文件
如果在mysql.ini中设置了时间就不用看了!
那么我们再次查询还量表中的数据之后
sql语句会不会记录到该文件中去;因为mysql中的默认记录查询语句时间为10s
我们怎么看呢?
下面我们可以在进入mysql模式下输入
show variables;
这里显示的就是mysql 中的详细变量具体可以去查询mysqlk 手册
这是我们输入慢查询变量时间的语句
show variables like 'long_query_time';
如果在mysql.ini中设置了这里就不用再次设置了
设置查询时间为1s
set long_query_time=1;
我们再次查询语句
此时大于1秒
打开我们的log 文件
改语句就记录了下来
相关文章推荐
- mysql 优化笔记一(定位慢查询)
- Mysql慢查询定位和优化实践分享
- MySQL优化:使用慢查询日志定位效率较低的SQL语句
- mysql 优化--定位慢查询
- MySQL定位慢查询以及索引优化
- mysql优化概述(范式.索引.定位慢查询)
- mysql 优化--定位慢查询
- MySQL优化技术:定位慢查询
- MySQL慢查询的定位与优化
- mysql优化(定位慢查询)
- MySQL优化 之 定位慢查询的sql语句
- 优化 MySQL 查询的 Limit 参数
- 使用连接(JOIN)来代替子查询(Sub-Queries) mysql优化系列记录
- MySQL查询优化技术系列讲座之使用索引
- MySQL查询优化系列讲座之调度和锁定
- [MySQL优化案例]系列 -- 无法使用查询缓存
- MySQL 查询中的分页思路的优化
- MySQL查询优化系列讲座之查询优化器
- MySQL查询优化讲座之管理员的优化措施
- MySQL查询优化技术系列讲座之使用索引