AnalyticDB for PostgreSQL 6 新特性解析 - Index Only Scan

  1. 云栖社区>
  2. 阿里云在线数据仓库服务 AnalyticDB PostgreSQL版 (原 HybridDB for PostgreSQL)>
  3. 博客>
  4. 正文

AnalyticDB for PostgreSQL 6 新特性解析 - Index Only Scan

陆封 2019-10-14 14:46:47 浏览696
展开阅读全文

原理介绍

PG中所有的索引都是二级索引,即在进行索引查询的过程中,需要同时访问索引数据和源表数据。Index Only Scan按照字面意思理解,即在查询过程中只需要扫描索引数据。这种扫描方式需要一个前提就是索引中包含了查询所需要的所有数据(也叫覆盖索引),如出现在SELECT, WHERE, ORDER BY中所引用的列。

由于PG的MVCC机制,在没有Index only scan之前,任何索引查询都需要经过通过源表数据进行可见性检查,如图所示:

1

在索引扫描到过程中,需要通过源表获取每个Record的可见性信息。
在PG9.2版本以后,支持了Index Only Scan,如果一个查询所需要的数据能够完全可以被索引覆盖,那么Index Only Scan就会成为一种新的扫描路径,并且通过Visibility map避免了通过获取源表进

网友评论

登录后评论
0/500
评论