- 2006-11-07
- pgsql
思いがけず、GiSTって何のことなのかわかってしまった気がするのでメモしておく。
GiST(Generalized Search Tree)とは、PostgreSQL で使えるインデックスの種類のひとつなんだけど、それを理解するには R-Tree を知っておいたほうがいい。もちろん B-Tree も知ってた方がいい。 適当に検索してみてください。図を見ればなんとなくわかると思います。
B-Tree は値の大小でグループに分けて、ツリーを構成していて、R-Tree は平面上のある領域内に含まれるかどうかでグループ分けをして、ツリーを構成している。
つまり、何かしらグループ分けする基準さえあれば、何かしらのツリーが構成できる、というのが GiST らしい。
と考えると、ちんぷんかんぷんだった GiST の説明もちょっと見えてくる。
consistent というのは、そのグループ(ノード)に含まれるかどうかの検査で、union はノードの結合、みたいな話だと思う。
だいたい同じことが
にも書いてあるのでコッチを見たほうがいいかもしれない。
contrib/ltree が面白そうなので今度書くかも。