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

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

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

7.5. 函数索引 #

函数索引定义在一个函数应用于单个表的一列或多列所得的结果上。函数索引可用于基于函数调用的结果快速访问数据。

例如,进行大小写不敏感比较的一种常见方式,是使用lower函数:

SELECT * FROM test1 WHERE lower(col1) = 'value';

如果在lower(column)操作的结果上定义了索引,这个查询就可以使用该索引:

CREATE INDEX test1_lower_col1_idx ON test1 (lower(col1));

索引定义中的函数可以接受多个参数,但这些参数必须是表的列,而不能是常量。函数索引始终是单列的(即函数的结果),即使函数使用了多个输入字段;不存在包含函数调用的多列索引。

提示

上一段中提到的限制很容易绕过:定义一个自定义函数用在索引定义中,在内部计算任何想要的结果即可。

提交更正

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