1. 环境:mysql-5.5.36

测试表:

Mysql组合索引顺序问题_组合索引

组合索引idx_id_name(`id`,`name`)

1.1 过滤条件不是索引前缀且查询列不在组合索引中:不能使用索引

Mysql组合索引顺序问题_组合索引_02

1.2过滤条件不是索引前缀且查询列都在组合索引中使用索引但是性能不佳

先通过:*  name  索引检索,再过滤出符合的id

Mysql组合索引顺序问题_组合索引_03

1.3过滤条件是索引前缀且查询列在索引中:使用索引

Mysql组合索引顺序问题_组合索引_04

创建组合索引一定要考虑查询的频率和顺序。