有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

mysql中explain(MySQL Explain详解)

MySQL 炮渣日记 3周前 (11-17) 19次浏览 已收录 0个评论 扫描二维码

在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,这时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,可以帮助选择更好的索引和写出更优化的查询语句。

EXPLAIN SELECT *

FROM `ri_user`

WHERE

`id` IN ( SELECT id FROM `ri_user` WHERE NAME = ‘Rickie20’ );

mysql中explain(MySQL Explain详解)

expain出来的信息有12列,分别是id、select_type、table、type、possible_keys、key、key_len、ref、rows、Extra,下面对这些字段出现的可能进行解释:

  • select_type:是否为复杂语句。
  • type:type 为ALL 表示进行的是全表扫描,为index 则表示使用了索引。
  • possible_keys:可能利用的索引的名字,如果没有任何可以利用的索引,则会显示 null。
  • key:它显示了MySQL 实际使用的索引的名字。
  • key_len:表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度
  • Extra:查询中每一步实现的额外细节信息,优化的时候经常会被使用。
喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址