MySQL数据库八(explain)

explain的作用:

通过explain+sql语句可以知道如下内容:

①表的读取顺序。(对应id)

②数据读取操作的操作类型。(对应select_type)

③哪些索引可以使用。(对应possible_keys)

④哪些索引被实际使用。(对应key)

⑤表直接的引用。(对应ref)

⑥每张表有多少行被优化器查询。(对应rows)

1、id

INSERT INTO n VALUES (5,'FXY',25);

 insert into n values(7,'SXY',24);//大小写都可以

explain select * from n;

 当ID顺序相同的时候执行顺序是由上到下的

新建一个表 CREATE TABLE m(id INT,name VARCHAR(10),age INT);

来看一下他的子查询

 这里如果是子查询id大的会递增,id越大优先级越高越先被执行

 explain select n.* from(
  select m.id
 from m
where m.name = ' ')s,m
 where s.id = m.id;

2、数据读取操作的操作类型。(对应select_type)

explain select * from (select * from n where id = 1)m;

 const:表示通过一次索引就找到了,const用于比较primary key 或者 unique 索引,因为只匹配一行数据,所以很快。

 

explain select * from m,n where m.id = n.id;

eq_ref唯一性索引扫描,对于每一个索引键,只有一条记录与之匹配。常见于主键或唯一索引扫描(一个公司只有一个CEO)

 

 create index idx_name_age on l(name,age);//创建一个复合索引

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值