mysql中索引有顺序吗_mysql索引之七:组合索引中选择合适的索引列顺序

组合索引(concatenated index):由多个列构成的索引,如create index idx_emp on emp(col1, col2, col3, ……),则我们称idx_emp索引为组合索引。

在组合索引中有一个重要的概念:引导列(leading column),在上面的例子中,col1列为引导列。当我们进行查询时可以使用”where col1 = ? ”,也可以使用”where col1 = ? and col2 = ?”,这样的限制条件都会使用索引,但是”where col2 = ? ”查询就不会使用该索引。所以限制条件中包含先导列时,该限制条件才会使用该组合索引。

创建2张测试表:

mysql> desctest1;+-------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+--------------+------+-----+---------+-------+

| id | int(11) | NO | | NULL | |

| name | varchar(45) | YES | MUL | NULL | |

| dept | varchar(50) | YES | | NULL | |

| desc | varchar(100) | YES | | NULL | |

+-------+--------------+------+-----+---------+-------

你可能感兴趣的:(mysql中索引有顺序吗)