# mysql 多列索引的生效规则

mysql中 myisam，innodb默认使用的是 Btree索引，至于btree的数据结构是怎样的都不重要，

```where a=3 and b=45 and c=5 .... 这种三个索引顺序使用中间没有断点，全部发挥作用；
where a=3 and c=5... 这种情况下b就是断点，a发挥了效果，c没有效果
where b=3 and c=4... 这种情况下a就是断点，在a后面的索引都没有发挥作用，这种写法联合索引没有发挥任何效果；
where b=45 and a=3 and c=5 .... 这个跟第一个一样，全部发挥作用，abc只要用上了就行，跟写的顺序无关```

（a,b,c） 三个列上加了联合索引（是联合索引 不是在每个列上单独加索引）

```(0)    select * from mytable where a=3 and b=5 and c=4;
abc三个索引都在where条件里面用到了，而且都发挥了作用
(1)    select * from mytable where  c=4 and b=6 and a=3;

(2)    select * from mytable where a=3 and c=7;
a用到索引，b没有用，所以c是没有用到索引效果的
(3)    select * from mytable where a=3 and b>7 and c=3;
a用到了，b也用到了，c没有用到，这个地方b是范围值，也算断点，只不过自身用到了索引
(4)    select * from mytable where b=3 and c=4;

(5)    select * from mytable where a>4 and b=7 and c=9;
a用到了  b没有使用，c没有使用
(6)    select * from mytable where a=3 order by b;
a用到了索引，b在结果排序中也用到了索引的效果，前面说了，a下面任意一段的b是排好序的
(7)    select * from mytable where a=3 order by c;
a用到了索引，但是这个地方c没有发挥排序效果，因为中间断点了，使用 explain 可以看到 filesort
(8)    select * from mytable where b=3 order by a;
b没有用到索引，排序中a也没有发挥索引效果```

mysql 多列索引的生效规则

(0)
(0)

0条 © 2014 mamicode.com 版权所有 京ICP备13008772号-2
{"ft_lang_label":"__label__zh","ft_lang_prob":0.9265254,"math_prob":0.95001334,"size":1537,"snap":"2019-13-2019-22","text_gpt3_token_len":1051,"char_repetition_ratio":0.20417482,"word_repetition_ratio":0.19526628,"special_character_ratio":0.26154846,"punctuation_ratio":0.13175675,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.99511766,"pos_list":[0,1,2],"im_url_duplicate_count":[null,null,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2019-03-24T10:40:41Z\",\"WARC-Record-ID\":\"<urn:uuid:38dd2ae1-a2fb-4daf-bd7d-8a32641fd5cb>\",\"Content-Length\":\"26357\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:0e6462cc-0087-4b60-bc43-357707ca94e6>\",\"WARC-Concurrent-To\":\"<urn:uuid:53303979-cd57-4fa4-aa4b-976c0af2abdb>\",\"WARC-IP-Address\":\"114.215.66.85\",\"WARC-Target-URI\":\"http://mamicode.com/info-detail-2371094.html\",\"WARC-Payload-Digest\":\"sha1:KBWCBOD4CQ7NKVWPE5Q4U53DOYMG6J22\",\"WARC-Block-Digest\":\"sha1:6MGD5WDBLRWG3UHYOFKXSMRBLGNTZX4T\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2019/CC-MAIN-2019-13/CC-MAIN-2019-13_segments_1552912203438.69_warc_CC-MAIN-20190324103739-20190324125739-00180.warc.gz\"}"}