MySQL笔记(覆盖索引)

覆盖索引:即包含查询所需要数据的索引,在某种情况下,对于查询,仅仅读取索引上的数据就已经足够了。一般情况下,在索引中查询的代价比。

在查询前面使用explain,可以通过输出的extra列来判断,对于一个索引覆盖查询,显示为using index,MySQL查询优化器在执行查询前会决定是否有索引覆盖查询。

以下两种情况将不会覆盖查询

1)没有一个覆盖查询的索引

2)执行like操作

当然,可以对索引进行延伸或重写查询,使用诸如join等操作来进行部分查询的过滤

另外,在InnoDB中,覆盖索引查询时除了除了索引本身的包含的列,还可以使用其默认的聚集索引列。

你可能感兴趣的:(mysql)