MySQL中的执行计划explain
2024-10-08 07:40:41
一、用法及定义:
explain为sql的执行计划、在sql前面加上explain关键字即可
如:explain select * from tbl_emp;
名词解释:
id:【操作表的顺序】
1.id相同,表的执行顺序从上往下依次执行
2.id不同,id越大的越先执行
3.id相同和不同的一起,越大的先执行,然后再按顺序从上往下依次执行
select_type:查询类型【区分简单查询,子查询,联合查询】
一般有:SIMPLE[最简答的sql查询],PRIMARY[查询中若包含任何复杂的子查询,最外层查询则被标记],
SUBQUERY[在select或where列表中包含子查询]
UNION
.............
type:访问类型【最好到最差】
system > const > eq_ref > ref > range > index> ALL
一般达到range级别就好,最好达到ref
possible:显示可能应用到这张表的索引,一个或者多个;查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用。
简单说:MySQL推测,理论上可能用到的索引,但不一定被查询实际使用
key:查询实际用到的索引,如果为NULL,要么没建要么没用到,或者索引失效
覆盖索引:select后面查询的字段和所建复合索引的个数和顺序一模一样
如果理论上没有,而key中出现了,则是使用了覆盖索引
ref:显示索引的哪一列被使用了
rows:越小越好
Extra:不要出现最好、Using filesort[文件内排序]
二、作用:
实例:
最新文章
- photoshop, 钢笔上色
- Java中不同的并发实现的性能比较
- HDU 4539郑厂长系列故事――排兵布阵(状压DP)
- 淘宝语音搜索的实现——html5
- ASP.NET 4.5.256 has not been registered on the Web server
- iOS控件——UIView的viewWithTag:(int)findTag方法描述
- flask开发restful api系列(6)-配置文件
- [ACM] hdu 2191 珍惜如今,感恩生活 (多重背包)
- 用python进行应用程序自动化测试(uiautomation)
- Linux-SFTP/SSH免密码,钥匙登录
- Google SwipeRefreshLayout(Goolge官方下拉刷新控件)尝鲜
- 关于web-root和web-inf的用处
- python 中文件输入输出及os模块对文件系统的操作
- 文本框JTextField,密码框JPasswordField
- web site optimization
- [leetcode]Surrounded Regions @ Python
- Java入门:基础算法之产生随机数
- [jOOQ中文]3. 数据库版本管理工具Flyway
- CADisplayLink+弹簧动画实现果冻效果
- 回形矩阵--python