Mysql通过EXPLAIN 分析低效SQL 的执行计划
来源:互联网 发布:淘宝商城9.9元包邮 编辑:程序博客网 时间:2024/06/03 14:05
通过以上步骤查询到效率低的SQL 语句后,可以通过EXPLAIN 或者DESC 命令获取MySQL
如何执行SELECT 语句的信息,包括在SELECT 语句执行过程中表如何连接和连接的顺序,比
如想计算2006 年所有公司的销售额,需要关联sales 表和company 表,并且对moneys 字段
做求和(sum)操作,相应SQL 的执行计划如下:
mysql> explain select sum(moneys) from sales a,company b where a.company_id = b.id and a.year
= 2006\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: a
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1000
Extra: Using where
*************************** 2. row ***************************
id: 1
select_type: SIMPLE
table: b
type: ref
possible_keys: ind_company_id
key: ind_company_id
key_len: 5
ref: sakila.a.company_id
rows: 1
Extra: Using where; Using index
2 rows in set (0.00 sec)
每个列的简单解释如下:
select_type:表示SELECT 的类型,常见的取值有SIMPLE(简单表,即不使用表连接
或者子查询)、PRIMARY(主查询,即外层的查询)、UNION(UNION 中的第二个或
者后面的查询语句)、SUBQUERY(子查询中的第一个SELECT)等。
table:输出结果集的表。
type:表示表的连接类型,性能由好到差的连接类型为system(表中仅有一行,即
常量表)、const(单表中最多有一个匹配行,例如primary key 或者unique index)、
eq_ref(对于前面的每一行,在此表中只查询一条记录,简单来说,就是多表连接
中使用primary key或者unique index)、re(f 与eq_ref类似,区别在于不是使用primary
key 或者unique index,而是使用普通的索引)、ref_or_null(与ref 类似,区别在于
条件中包含对NULL 的查询)、index_merge(索引合并优化)、unique_subquery(in
的后面是一个查询主键字段的子查询)、index_subquery(与unique_subquery 类似,
区别在于in 的后面是查询非唯一索引字段的子查询)、range(单表中的范围查询)、
index(对于前面的每一行,都通过查询索引来得到数据)、all(对于前面的每一行,
都通过全表扫描来得到数据)。
possible_keys:表示查询时,可能使用的索引。
key:表示实际使用的索引。
key_len:索引字段的长度。
rows:扫描行的数量。
Extra:执行情况的说明和描述。
- Mysql通过EXPLAIN 分析低效SQL 的执行计划
- MySql(28)------使用explain分析低效sql的执行情况
- mysql--18130explain分析SQL执行计划
- .mysql的SQL语句执行计划分析:EXPLAIN
- mysql explain分析sql语句的执行计划
- mysql的SQL语句执行计划分析:EXPLAIN
- EXPLAIN分析SQL的执行计划
- Mysql的执行计划explain
- MySQL的EXPLAIN执行计划
- mysql explain查看sql语句的执行计划
- MySQL SQL优化之 执行计划 explain
- 通过dbms_xplan.display_cursor识别低效的执行计划
- explain mysql 执行计划
- mysql explain执行计划
- mysql EXPLAIN--执行计划
- MYSQL执行计划Explain
- mysql explain执行计划
- MYSQL执行计划explain
- struts2的if,elseif字符串的比较
- 邓颖超临终前说的最后俩字竟是“李鹏”(图)
- SWJ小谈:百度IM捷报 软件图片大曝光之SWJ小感受
- Linux模式设计2-数据比较
- 参考博客网址
- Mysql通过EXPLAIN 分析低效SQL 的执行计划
- 传微信300元/年今日全面开放接口,企业能用它们来做啥?
- 深入探讨在集群环境中使用 EhCache 缓存系统
- 从EXCEL导出数据到XML
- 如何对PNG进行压缩?PNG24压缩方法
- Cocos2d-x+Plugin-X插件集成指南 cocos2d-x 2.13
- Android Media Scanner Mechanism Analyze
- 计算机视觉、机器学习相关领域论文和源代码
- 想要做好职业规划,先认清自我