复合索引(combined index)也被称为组合索引或者联合索引,顾名思义,就是一个索引建立在多个字段上。当用这些字段为条件查询时,相比对每个字段单独做索引,复合索引能给出很好的性能,还能减少索引的数量。
为什么能减少索引的数量? 通常来说,也就是在其他数据库,联合索引符合”最左匹配“的原则。在BING上搜索“复合索引,得到的第一个搜索结果的这篇文章就说的就很简单明了:
下面这个SQL语句在 列X,列Y,列Z 上建立了一个复合索引。
mysql
CREATE INDEX 索引名 ON 表名(列名X, 列名Y, 列名Z);其实这相当于建立了三个索引,分别是: