SQL优化工具
什么是索引?
相关连接
MySQL 索引 : http://www.runoob.com/mysql/mysql-index.htmlhtml
MySQL 索引优化 : http://www.runoob.com/w3cnote/mysql-index.htmlmysql
Mysql explain用法和性能分析 : http://blog.csdn.net/u012410733/article/details/66472157linux
效果展现
下载测试sql文件 连接:http://pan.baidu.com/s/1qY2WgNE 密码:zhy3sql
执行sql语句(耗时34秒左右[linux系统下的测试])工具
SELECT
ca_id,
sub_id,
ca_number,
sub_number
FROM
tbl_category ca
LEFT JOIN tbl_subcategory sub ON ca.ca_number = sub.sub_number
[root@localhost /]# /usr/sbin/sqladvisor -f /etc/sql.cnf -q "SELECT ca_id, sub_id, ca_number, sub_number FROM tbl_category ca LEFT JOIN tbl_subcategory sub ON ca.ca_number = sub.sub_number" -v 1
2017-08-15 19:27:43 3494 [Note] 第1步: 对SQL解析优化以后获得的SQL:select `ca_id` AS `ca_id`,`sub_id` AS `sub_id`,`ca_number` AS `ca_number`,`sub_number` AS `sub_number` from (`test`.`tbl_category` `ca` left join `test`.`tbl_subcategory` `sub` on((`ca`.`ca_number` = `sub`.`sub_number`)))
2017-08-15 19:27:43 3494 [Note] 第2步:开始解析join on条件:ca.ca_number=sub.sub_number
2017-08-15 19:27:43 3494 [Note] 第3步:开始选择驱动表,一共有1个候选驱动表
2017-08-15 19:27:43 3494 [Note] explain select * from tbl_category
2017-08-15 19:27:43 3494 [Note] 第4步:候选驱动表tbl_category的结果集行数为:29521
2017-08-15 19:27:43 3494 [Note] 第5步:选择表tbl_category为驱动表
2017-08-15 19:27:43 3494 [Note] 第6步:表tbl_category 的SQL太逆天,没有优化建议
2017-08-15 19:27:43 3494 [Note] 第7步:开始验证 字段sub_number是否是主键。表名:tbl_subcategory
2017-08-15 19:27:43 3494 [Note] show index from tbl_subcategory where Key_name = 'PRIMARY' and Column_name ='sub_number' and Seq_in_index = 1
2017-08-15 19:27:43 3494 [Note] 第8步:字段sub_number不是主键。表名:tbl_subcategory
2017-08-15 19:27:43 3494 [Note] 第9步:开始验证 字段sub_number是否是主键。表名:tbl_subcategory
2017-08-15 19:27:43 3494 [Note] show index from tbl_subcategory where Key_name = 'PRIMARY' and Column_name ='sub_number' and Seq_in_index = 1
2017-08-15 19:27:43 3494 [Note] 第10步:字段sub_number不是主键。表名:tbl_subcategory
2017-08-15 19:27:43 3494 [Note] 第11步:开始验证表中是否已存在相关索引。表名:tbl_subcategory, 字段名:sub_number, 在索引中的位置:1
2017-08-15 19:27:43 3494 [Note] show index from tbl_subcategory where Column_name ='sub_number' and Seq_in_index =1
2017-08-15 19:27:43 3494 [Note] 第12步:开始输出表tbl_subcategory索引优化建议:
2017-08-15 19:27:43 3494 [Note] Create_Index_SQL:alter table tbl_subcategory add index idx_sub_number(sub_number)
2017-08-15 19:27:43 3494 [Note] 第13步: 优化结束!
2017-08-15 19:27:43 3494 [Note] 第12步:开始输出表tbl_subcategory索引优化建议:
2017-08-15 19:27:43 3494 [Note] Create_Index_SQL:alter table tbl_subcategory add index idx_sub_number(sub_number)
alter table tbl_subcategory add index idx_sub_number(sub_number)性能
SELECT
ca_id,
sub_id,
ca_number,
sub_number
FROM
tbl_category ca
LEFT JOIN tbl_subcategory sub ON ca.ca_number = sub.sub_number
详细连接 : http://wangweihong.com
测试