覆盖索引:即包含查询所需要数据的索引,在某种情况下,对于查询,仅仅读取索引上的数据就已经足够了。一般情况下,在索引中查询的代价比。
在查询前面使用explain,可以通过输出的extra列来判断,对于一个索引覆盖查询,显示为using index,MySQL查询优化器在执行查询前会决定是否有索引覆盖查询。
以下两种情况将不会覆盖查询
1)没有一个覆盖查询的索引
2)执行like操作
当然,可以对索引进行延伸或重写查询,使用诸如join等操作来进行部分查询的过滤
另外,在InnoDB中,覆盖索引查询时除了除了索引本身的包含的列,还可以使用其默认的聚集索引列。
本文介绍了覆盖索引的概念及其在查询优化中的作用。当查询所需的数据完全包含在索引中时,MySQL可以仅通过索引来获取数据,从而提高查询效率。文章还讨论了覆盖索引的应用场景及限制条件。
2209

被折叠的 条评论
为什么被折叠?



