>  기사  >  백엔드 개발  >  mysql 索引问题

mysql 索引问题

WBOY
WBOY원래의
2016-06-06 20:32:281221검색

一个表最多能同时几个索引,比如a和b字段都有索引,where a=1 and b=1,这两个会同时使用吗?还有a=1 and c=1,c是普通字段,这个时候会用到a索引嘛,还有联合索引有那些要注意的,什么情况下联合索引会用不上。由于不方便测试,感谢大神分享经验!

回复内容:

一个表最多能同时几个索引,比如a和b字段都有索引,where a=1 and b=1,这两个会同时使用吗?还有a=1 and c=1,c是普通字段,这个时候会用到a索引嘛,还有联合索引有那些要注意的,什么情况下联合索引会用不上。由于不方便测试,感谢大神分享经验!

1.一条SQL语句只能用一个索引,所以where a=1 and b=1 你可以考虑用组合索引
2.a=1 and c=1,c是普通字段 会走a索引
3.联合索引是从左往右使用。可用部分联合索引
4.在SQL语句前加explain来查看语句用索引的情况

数据库的索引可以有多个,针对单个字段,也可以是针对多个字段的,比如一些查询组合。分别针对a和b建德索引,在查询a=1和b=1的时候不如,针对a,b的组合索引的速度快。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.