F.8. btree_gin — GIN классы операторов с поведением B-tree#
F.8. btree_gin — GIN классы операторов с поведением B-tree #
btree_gin
предоставляет классы операторов GIN, которые
реализуют эквивалентное поведение B-дерева для типов данных
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-деревьев и не обладают одной основной особенностью стандартного кода B-дерева: возможностью обеспечения уникальности. Однако они полезны для тестирования GIN и в качестве основы для разработки других классов операторов GIN. Кроме того, для запросов, которые проверяют как столбец, индексируемый GIN, так и столбец, индексируемый B-деревом, может быть более эффективно создать многоколоночный индекс GIN, который использует один из этих классов операторов, чем создать два отдельных индекса, которые должны быть объединены с помощью побитового AND.
Этот модуль считается "доверенным", то есть его можно установить
недоступным пользователям, у которых есть привилегия CREATE
в текущей базе данных.
F.8.1. Пример использования #
CREATE TABLE test (a int4); -- create index CREATE INDEX testidx ON test USING GIN (a); -- query SELECT * FROM test WHERE a < 10;
F.8.2. Авторы #
Федор Сигаев (<teodor@stack.net>
) и Олег Бартунов (<oleg@sai.msu.su>
). См. http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin для дополнительной информации.