btree_gin fournit des échantillons de classes d'opérateurs GIN qui codent un comportement équivalent à un B-Tree pour les types 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, inet, et cidr.
En général, ces classes d'opérateurs ne sont pas plus rapides que les méthodes standard d'indexation btree équivalentes, et il leur manque une fonctionnalité majeure du code btree standard : la capacité à forcer l'unicité. Toutefois, elles sont utiles pour tester GIN et comme base pour développer d'autres classes d'opérateurs GIN. Par ailleurs, pour des requêtes qui testent à la fois une colonnne indexable via GIN et une colonne indexable par btree, il peut être plus efficace de créer un index GIN multicolonne qui utilise une de ces classes d'opérateurs que de créer deux index séparés qui devront être combinés via une opération de bitmap ET.
CREATE TABLE test (a int4); -- create index CREATE INDEX testidx ON test USING gin (a); -- requête SELECT * FROM test WHERE a < 10;
Teodor Sigaev (<teodor@stack.net>) et Oleg Bartunov (<oleg@sai.msu.su>). Voir http://www.sai.msu.su/~megera/oddmuse/index.cgi/Gin pour plus d'informations.