↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

不受支持的版本: 7.3 / 7.2
历史版本PostgreSQL 7.3 已于 2007 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本手册首页。

14.4. 访问方法支持例程 #

仅靠策略信息通常不足以让系统知道如何使用索引。实际上,访问方法还需要额外的支持例程才能工作。例如,B-树访问方法必须能够比较两个键,并判断其中一个是大于、等于还是小于另一个。类似地,R-树访问方法必须能够计算矩形的交集、并集和大小。这些操作并不对应 SQL 查询条件中使用的操作符;它们是访问方法内部使用的管理例程。

与操作符一样,操作符类会标识对于给定的数据类型和语义解释,应由哪些具体函数承担这些角色。索引访问方法指定它需要的函数集合,而操作符类则会通过为函数分配由索引访问方法规定的“支持函数号”来标识正确的函数。

B-树要求一个支持函数,如表 14.4所示。

表 14.4. B-树支持函数

函数 支持号
比较两个键,并返回一个小于零、等于零或大于零的整数,用以 表示第一个键是小于、等于还是大于第二个键 1

哈希索引同样只需要一个支持函数,如表 14.5所示。

表 14.5. 哈希支持函数

函数 支持号
计算一个键的哈希值 1

R-树索引要求三个支持函数,如表 14.6所示。

表 14.6. R-树支持函数

函数 支持号
union 1
intersection 2
size 3

GiST 索引要求七个支持函数,如表 14.7所示。

表 14.7. GiST 支持函数

函数 支持号
consistent 1
union 2
compress 3
decompress 4
penalty 5
picksplit 6
equal 7

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。