
explain关键字可以模拟MysqL优化器执行SQL语句,可以很好的分析SQL语句或表结构的性能瓶颈。explain的用途
1. 表的读取顺序如何2. 数据读取 *** 作有哪些 *** 作类型3. 哪些索引可以使用4. 哪些索引被实际使用5. 表之间是如何引用6. 每张表有多少行被优化器查询......explain的执行效果
MysqL> explain select * from subject where ID = 1 \G****************************************************** ID: select_type: SIMPLE table: subject partitions: NulL type: constpossible_keys: PRIMARY key: PRIMARY key_len: 4 ref: const rows: filtered: 100.00 Extra: NulL******************************************************explain包含的字段
1. ID //select查询的序列号,包含一组数字,表示查询中执行select子句或 *** 作表的顺序2. select_type 查询类型3. table 正在访问哪个表4. partitions 匹配的分区5. type 访问的类型6. possible_keys 显示可能应用在这张表中的索引,一个或多个,但不一定实际使用到7. key 实际使用到的索引,如果为NulL,则没有使用索引8. key_len 表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度9. ref 显示索引的哪一列被使用了,如果可能的话,是一个常数,哪些列或常量被用于查找索引列上的值10. rows 根据表统计信息及索引选用情况,大致估算出找到所需的记录所需读取的行数11. filtered 查询的表行占表的百分比12. Extra //包含不适合在其它列中显示但十分重要的额外信息
总结
以上是内存溢出为你收集整理的一张图彻底搞懂 MySQL 的explain全部内容,希望文章能够帮你解决一张图彻底搞懂 MySQL 的explain所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)