MySQL的Explain

语法:

EXPLAIN+SQL语句

EXPLAIN SELECT * FROM tb_item t1,tb_item_cat t2,tb_item_desc t3 WHERE t1.cid = t2.id AND t1.id = t3.item_id;

EXPLAIN SELECT * FROM tb_item t1 WHERE t1.id IN (SELECT t2.item_id FROM tb_item_desc t2);

关于id字段介绍:

id相同:执行顺序由上至下。

id不同:id值越大,越先被执行。

 

关于select_type字段介绍:

SIMPLE:普通查询类型。不包含子查询与UNION。

PRIMARY:嵌套查询,最外层的查询。

SUBQUERY:嵌套查询,里的子查询。

DERIVED:在FROM列表里包含的子查询被标记为DERIVED(衍生)。相当于建了一张临时表。

UNION:UNION查询。

UNION RESULT:2个UNION的合集。

 

关于table字段:查询表

 

关于type字段介绍:(查询性能由好到坏)

system

const:单表查询,通过主键id,union索引查询。

eq_ref:多表查询,唯一性索引扫描。

ref:非唯一性索引扫描。

range:只检索给定范围的行,使用一个索引来选择行。

index:查询的列是索引。

ALL:全表查询。

工作中需要达到range,最好是ref。

 

possible keys与key字段介绍:

key:实际使用到的索引。

possible keys:理论上用到的索引。

 

key_len字段介绍:

key_len:代表索引字段的长度。

 

ref字段介绍:

const:常量

所使用的索引字段:test.t1.id

 

rows字段介绍:

所需查询的行数。值越小越好。

 

extra字段介绍:

额外信息

Using filesort:

Using temporary:

Using index:使用索引。

Using where:

Using join buffer:

impossible where:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值