联合索引及其实现原理

    联合索引的创建方法与单个索引创建的方法一样,不同之处仅在于有多个索引列。

SELECT film_id, actor_ id FROM sakila.film_actor
WHERE actor_id = 1 AND film_id = 1;

    对于联合索引,mysql从左往右的使用索引中的字段,一个查询可以使用索引中的一部分。

    例如key(a,b,c),可以支持a、(a,b)、(a,b,c)这些组合的进行查询。

    创建联合索引时,应该仔细考虑列的顺序。对索引中的所有列执行搜索或仅对前几列执行搜索时,联合索引非常有用。索引使用范围:当单一列索引可以出现在where条件中的任何位置,而联合索引需要按照一定顺序来写。

    实现:采用B+树实现,每个节点含有多个关键字,排序时按照多个关键字来排序。

转载于:https://my.oschina.net/u/4045381/blog/3097354

你可能感兴趣的:(数据库)