码迷,mamicode.com
首页 > 数据库 > 详细

MySQL调优

时间:2015-08-17 17:37:52      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

发现低性能的SQL——慢查询日志

MySQL支持慢查询日志,记录查询时间过长的SQL语句。通过日志能发现需要优化的主体。

开启慢查询日志功能:修改my.cnf文件,并重启

log-slow-queries=/var/lib/mysql/mysql-slow.log
long_query_time=2

或者修改数据库

show variables like ‘%query%‘;
set @@global.slow_query_log=ON;
set @@global.slow_query_log_file=‘/var/run/mysqld/mysqld-slow.log‘;

select sleep(11); #慢查询,将会被记录到日志文件

技术分享


查看SQL执行计划——explain

explain查询执行计划,返回10列信息。

技术分享

extra

using index:从索引中返回数据。这是令人满意的结果,代表SQL执行性能较高。

using where:通过索引来进行范围查找,跟返回数据是否从索引无关。

using filesort:需要优化。

using temporary:需要优化。


select_type

查询类型


type

all:全表扫描

index:按索引次序扫描表,其实也是扫描全表。比all强在避免排序。

range:以范围的形式搜索索引。

ref:非唯一索引访问。

eq_ref:唯一索引访问。在join运算中,如果两边都是唯一索引列,就属于这种类型。

const,system

null


possible_keys

可能用到的key


key

实际用到的key


rows

所需要扫描的函数的估值

MySQL调优

标签:

原文地址:http://my.oschina.net/gaohongtian/blog/493523

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!