mysql index索引

All /null :  full table scan

const / primary : primary key / unique key


ref / key_name : 非primary key / unique key,可能包含多行


range/ possible_keys : 组合索引,找到A,B索引失效,可能多行

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE opponent_stages range opponent_id,idx_opponent_stage opponent_id 8 NULL 12 Using where; Using filesort

组合索引里有了的,不需要单独建索引

explain select * from opponent_stages where opponent_id = 137616

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE opponent_stages ref opponent_id,idx_opponent_stage,opponent_id_1 opponent_id 8 const 1  

group by 会创建临时表,如果索引没起作用的话

explain select count(rank) from opponent_stages where opponent_id in(137621,	137624,	137620, 137614,	137618, 137619,	137615,	137622,	137617, 137616,	137623, 137613,	137621,	137624, 137614,	137619, 137615,	137622, 137616,	137613, 137615,	137616, 137621,	137614, 137621,	137615, 137614,	137616) group by rank

id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE opponent_stages range opponent_id,idx_opponent_stage,opponent_id_1 opponent_id 8 NULL 12 Using where; Using temporary; Using filesort

explain select * from opponent_stages where stage = 0 limit 10
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE opponent_stages ALL NULL NULL NULL NULL 86576 Using where

stage是组合索引的后一个,单独查询是全表,加上order by id,变成primary,好神奇

explain select * from opponent_stages where stage = 0 order by id limit 10

  
  
idselect_typetabletypepossible_keyskeykey_lenrefrowsExtra
1SIMPLEopponent_stagesindexNULLPRIMARY8NULL10Using where




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值