mysql 性能优化常用工具:
常用性能检测工具
show engine innodb status
show full processlist
information_schema.processlist
explain
create table innodb_table_monitor(a int) engine=innodb;
innodb_locks
innodb_lock_wait
innodb_trx
zabbix监控
pt-tools 工具
性能优化的两种方式:
1.执行计划的解读
mysql> explain select * from mysql.user ; +----+-------------+-------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +----+-------------+-------+------+---------------+------+---------+------+------+-------+ | 1 | SIMPLE | user | ALL | NULL | NULL | NULL | NULL | 11 | NULL | +----+-------------+-------+------+---------------+------+---------+------+------+-------+
explain:重要的列解释:
select_type:查询类型
(
simple:简单的查询,没有union,子查询。
primary:外面的select,在有子查询的语句中,最外面的select查询就是primary
)
type:访问类型,表的访问方式
(
const/system:唯一键查找或者主键查找(=)
ref:非唯一索引(=)
range:范围查找,>,<,>=,<=,like 'dddd%',in('',''),between and
eq_ref:两表连接时,右边表的连接字段是唯一键或者主键时出现此访问方式
index:全索引扫描
all:全表扫描
)
ref:进行索引比较的列或者常量
rows:这个数表示mysql要遍历多少数据才能找到,在innodb上是不准确的。
Extra:
(Using where,Using temporary,Using filesort,
Using index,
Using join buffer,
Impossible where)
explain相关解释
http://www.cnblogs.com/linjiqin/p/4125898.html
转载于:https://blog.51cto.com/dwchaoyue/1870212