# 66.1.导言

SP GiST是空间分区GiST的缩写。SP GiST支持分区搜索树,这有助于开发各种不同的非平衡数据结构,如四叉树、k-d树和基数树(TRES)。这些结构的共同特点是,它们反复将搜索空间划分为大小不一定相同的分区。与分区规则匹配良好的搜索可以非常快。

这些流行的数据结构最初是为内存使用而开发的。在主存中,它们通常被设计为一组由指针链接的动态分配节点。这不适合直接存储在磁盘上,因为这些指针链可能相当长,需要太多的磁盘访问。相比之下,基于磁盘的数据结构应具有较高的扇出,以最大限度地减少I/O。SP GiST解决的挑战是将搜索树节点映射到磁盘页面,这样一来,即使搜索遍历多个节点,也只需要访问几个磁盘页面。

与GiST一样,SP GiST旨在允许数据类型领域的专家(而不是数据库专家)使用适当的访问方法开发自定义数据类型。

这里的一些信息来自普渡大学的SP GiST索引项目网站 (opens new window)。PostgreSQL中的SP GiST实现主要由Teodor Sigaev和Oleg Bartunov维护,关于它们的网站 (opens new window).