btree_gin
提供了 GIN 操作符类,它们为数据类型 int2
、int4
、int8
、float4
、float8
、timestamp with time zone
、timestamp without time zone
、time with time zone
、time without time zone
、date
、interval
、oid
、money
、"char"
、varchar
、text
、bytea
、bit
、varbit
、macaddr
、macaddr8
、inet
、cidr
、uuid
、name
、bool
、bpchar
以及所有 enum
类型实现了等同于 B-tree 的行为。
总的来说,这些操作符类在性能上可能不会超过等效的标准 B-tree 索引方法,并且它们缺少标准 B-tree 代码的一个主要功能:强制唯一性的能力。然而,它们对于 GIN 的测试以及作为开发其他 GIN 操作符类的基础很有用。此外,对于同时测试 GIN 可索引列和 B-tree 可索引列的查询,创建一个使用其中一个操作符类的多列 GIN 索引可能比创建两个需要通过位图 AND 合并的独立索引更有效。
此模块被认为是“受信任的”,这意味着非超级用户也可以在其拥有的数据库上安装它,前提是他们具有 CREATE
权限。
CREATE TABLE test (a int4); -- create index CREATE INDEX testidx ON test USING GIN (a); -- query SELECT * FROM test WHERE a < 10;
Teodor Sigaev (<teodor@stack.net>
) 和 Oleg Bartunov (<oleg@sai.msu.su>
)。更多信息请参阅 http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin。
如果您在文档中发现任何不正确、与您在使用特定功能时的经验不符或需要进一步澄清的内容,请使用 此表单 报告文档问题。