PostgreSQL 索引系列文章翻译自 https://habr.com/en/company/postgrespro/blog/441962/,已经得作者同意。

    本文将原系列文章第一篇中的<概述>部分拆出来,作为系列译文的介绍和导航。

    这一系列文章主要介绍 PostgreSQL 中的索引。

    我们将讨论使用数据库的应用开发者应该会感兴趣的话题,如有哪些索引可以使用,为什么有如此多种类的索引以及如何使用索引提升查询性能。这些话题本可以用较少的篇幅就覆盖到,但我们将介绍更多细节,希望在帮助大家 “知其然” 的同时,也能够帮助那些想了解细节的开发者 “知其所以然”,进而帮助大家在实际开发中做出自己的判断,而非人云亦云。

    开发一种新的索引类型不在我们的讨论范畴。这需要了解 C 编程语言,并且涉及系统程序员而非应用程序开发者的专业知识。出于同样的原因,我们几乎不会讨论编程接口,只关注使用已有索引的相关事宜。

    第一篇文章中我们将讨论与关系数据库系统核心相关的通用索引引擎与单独的索引访问方法(Access Method)的职责分配,PostgreSQL 允许我们以扩展的方式添加新的索引。随后,我们将讨论访问方法接口以及操作符和操作符族等核心概念。在漫长但必要的介绍之后,我们将讨论不同类型的索引的结构和应用细节,这些索引包括 Hash,B-tree,GiST,SP-GiST,GIN,RUM,BRIN 和 Bloom。

    PostgreSQL 索引系列文章导航: