btree_gin
は、次に列挙するデータ型に対しB-treeと同等な動作を実装する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コードの1つの重要機能である一意性強要の能力を欠いています。 しかしながら、GINの試験、およびその他のGIN演算子クラスの開発の基礎として便利です。 同時に、GINインデックス化可能列およびB-treeインデックス化可能列双方を試験する問い合わせに対し、ビットマップを介してANDを取り一体化されるべき2つの別々のインデックスを作成するよりも、これらの演算子クラスの1つを使用する複数列GINインデックスを作成するほうがより効率的です。
このモジュールは「trusted」と見なされます。つまり、現在のデータベースに対してCREATE
権限を持つ非スーパーユーザがインストールできます。
CREATE TABLE test (a int4); -- インデックスの作成 CREATE INDEX testidx ON test USING GIN (a); -- 問い合わせ 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を参照ください。