12. 知道什么叫覆盖索引嘛 ?

简介: **覆盖索引**是指在SQL查询中,索引包含所有所需列数据,避免回表查询,提高效率。创建覆盖索引可通过为查询字段建立联合索引,如在`user`表上为`name`和`age`创建`index_name_age`索引。查询`select name,age from user where name='Alice'`时,索引中已包含`name`和`age`,直接返回结果,实现覆盖索引。

12. 知道什么叫覆盖索引嘛 ?

覆盖索引是指只需要在一棵索引树上就能获取SQL所需的所有列数据 , 因为无需回表查询效率更高

实现覆盖索引的常见方法是:将被查询的字段,建立到联合索引里去。

执行如下查询语句 : select name,age from user where name='Alice'

因为要查询 nameage二个字段 , 那么我们可以建立组合索引

create index index_name_age on user(name,age) 

那么索引存储结构如下 :

image.png

这种情况下, 执行select name,age from user where name='Alice' , 会先根据name='Alice', 找到记录 , 这条记录的索引上刚好又包含了 age 数据 , 直接把 Alice 77数据返回 , 就不会执行回表查询 , 这就是覆盖索引

目录
相关文章
|
存储 SQL 缓存
mysql覆盖索引详解——like模糊全匹配中使用索引
mysql覆盖索引详解——like模糊全匹配中使用索引
1022 0
mysql覆盖索引详解——like模糊全匹配中使用索引
|
8月前
|
存储 关系型数据库 MySQL
什么是覆盖索引?
本章主要讲解了索引覆盖和回表的相关知识
70 0
|
9月前
|
存储 SQL 关系型数据库
【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR
【MySQL进阶-03】深入理解mysql的索引分类,覆盖索引,覆盖索引失效,回表,MRR
103 0
|
10月前
|
数据库 索引
覆盖索引
覆盖索引是指在数据库中创建一个索引,使得查询可以直接从索引中获取所需的数据,而不需要再去访问数据表。这种索引能够减少数据库的I/O操作,提高查询的性能。
46 0
|
6天前
|
存储 NoSQL 分布式数据库
Hbase的三种索引_全局索引,覆盖索引,本地索引(七)
Hbase的三种索引_全局索引,覆盖索引,本地索引(七)
96 0
|
12月前
|
SQL 关系型数据库 MySQL
好的索引当然是要覆盖了!
好的索引当然是要覆盖了!
|
存储 关系型数据库 MySQL
|
存储 消息中间件 SQL
|
存储 SQL 关系型数据库
测试关于索引的操作- 修改索引
测试关于索引的操作- 修改索引