什么是覆盖索引和索引下推,以二维表的形式体现
时间: 2023-07-11 21:31:08 浏览: 56
覆盖索引是指索引中包含了查询所需的所有数据,不需要再回到数据表中进行查询,从而提高查询效率。索引下推是指将查询条件下推至索引层面进行查询,减少了回表操作,从而提高查询效率。
下面是一个二维表,展示了一个订单表的结构,其中包含订单号、客户姓名、订单金额等字段。
| 订单号 | 客户姓名 | 订单金额 | 下单时间 |
|--------|----------|----------|--------------------|
| 1 | 张三 | 100 | 2021-01-01 10:00:00 |
| 2 | 李四 | 200 | 2021-01-02 10:00:00 |
| 3 | 王五 | 150 | 2021-01-03 10:00:00 |
假设有以下查询条件:
SELECT 订单号,客户姓名 FROM 订单表 WHERE 订单金额 > 100;
如果在订单表中建立了如下的非聚集索引:
| 订单金额 | 订单号 | 客户姓名 |
|----------|--------|----------|
| 100 | 1 | 张三 |
| 150 | 3 | 王五 |
| 200 | 2 | 李四 |
则使用覆盖索引和索引下推的查询过程如下:
1. 覆盖索引查询:
直接在非聚集索引中查找符合条件的订单号和客户姓名,无需回到订单表中查询其他字段。
| 订单金额 | 订单号 | 客户姓名 |
|----------|--------|----------|
| 150 | 3 | 王五 |
2. 索引下推查询:
在非聚集索引中查找符合条件的订单号,再回到订单表中查询客户姓名。
| 订单金额 | 订单号 | 客户姓名 |
|----------|--------|----------|
| 100 | 1 | 张三 |
| 150 | 3 | 王五 |
| 200 | 2 | 李四 |
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)