mysql 索引 index range

今天在調試一個BUG的時候,無心間發現 explain 發現了 index range;php

以前對於索引的理解是,單個索引每次查詢只能用一個索引。因而趕忙查一下,果真存在這個優化器在適當的時候會選擇使用兩個索引而後取交集,並集。html

又一想那效率和符合索引有什麼區別呢? 實驗發現仍是符合索引速度快,並且快很多。看來出現index range 不是最優的索引。mysql


效率對比:sql

符合索引(user_id,type)優化

單個索引user_id,type 優化器自動選擇兩個索引交集調試

總結:符合索引仍是第一選擇。code


附上兩篇關於index range 講解:htm

http://dev.mysql.com/doc/refman/5.7/en/index-merge-optimization.html 索引

http://www.orczhou.com/index.php/2013/01/mysql-source-code-query-optimization-index-merge/ get

相關文章
相關標籤/搜索