首页 > 试题广场 >

什么是覆盖索引?优点有哪些?举个适用的场景(包括表结构和查询

[问答题]

什么是覆盖索引?优点有哪些?举个适用的场景(包括表结构和查询语句)。

覆盖索引:一个索引中包含所有需要查询字段的值
优点:无需回表
1.索引条目通常远小于数据行大小,只需要读取索引,则mysql会极大地减少数据访问量。
2.因为索引是按照列值顺序存储的,所以对于IO密集的范围查找会比随机从磁盘读取每一行数据的IO少很多。
3.一些存储引擎如myisam在内存中只缓存索引,数据则依赖于操作系统来缓存,因此要访问数据需要一次系统调用
4.innodb的聚簇索引,覆盖索引对innodb表特别有用

发表于 2020-02-12 22:21:18 回复(0)
更多回答
覆盖索引指一个查询语句的执行只需要从辅助索引中就可以得到查询记录,而不需要查询聚集索引中的记录。
优点:只需要通过索引就可以返回查询所需要的数据,而不必在查到索引之后进行回表操作,减少IO操作,提高了效率。
发表于 2020-03-03 15:30:38 回复(0)