↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2
历史版本。 PostgreSQL 13 已结束支持。 2025-11-13. 请参阅 当前版本手册.

第 65 章 SP-GiST 索引

65.1. 简介 #

SP-GiST 是空间分区 GiST 的缩写。SP-GiST 支持分区搜索树,这使得开发多种不同的非平衡数据结构成为可能,例如四叉树、k-d 树以及基数树(trie)。这些结构的共同特征是,它们会反复将搜索空间划分为不必等大的分区。与这种划分规则良好匹配的搜索可以非常快。

这些常见数据结构最初是为内存中使用而开发的。在主存中,它们通常被设计成一组由指针链接的动态分配结点。由于这些指针链可能相当长,直接存储到磁盘上并不合适,因为那会需要过多的磁盘访问。相比之下,基于磁盘的数据结构应当具有较高的扇出,以尽量减少 I/O。SP-GiST 要解决的难题是,如何以这样的方式将搜索树结点映射到磁盘页:即使搜索遍历了许多结点,也只需访问少数几个磁盘页。

像 GiST 一样,SP-GiST 的目标是让数据类型领域专家而非数据库专家,能够针对自定义数据类型开发合适的访问方法。

这里的一些信息来自普渡大学的 SP-GiST 索引项目网站。SP-GiST 在 PostgreSQL 中的实现主要由 Teodor Sigaev 和 Oleg Bartunov 维护,他们的网站上还有更多信息。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.