您的位置:首页 > 数据库 > MySQL

MySQL笔记(覆盖索引)

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

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

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

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

2)执行like操作

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



另外,在InnoDB中,覆盖索引查询时除了除了索引本身的包含的列,还可以使用其默认的聚集索引列。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: