PostgreSQL create index concurrently原理分析
本文对PostgreSQL create index concurrently的原理分析。整个过程分为三段,每个阶段需要一个独立的事务。共需要对表进行两次全表扫描。
本文对PostgreSQL create index concurrently的原理分析。整个过程分为三段,每个阶段需要一个独立的事务。共需要对表进行两次全表扫描。
本文主要以btree为例介绍pg_am、pg_opclass、pg_opfamily、pg_amop、pg_amproc等几张系统表的作用。
作者最初阅读indxpath.c的原因是想找到下面这个问题的答案:索引到底在什么场景下可以被使用?src/backend/optimizer/path/indxpath.c可以回答这个问题。本文对它进行了注释,介绍索引扫描路径生成的全过程。主要包括索引扫描路径生成的前提、生成过程中所用的算法、最终路径的种类等。整个过程,有大量的代码与处理条件(过滤条件和连接条件)相关。