Home > pgsql > GiSTって何

GiSTって何

思いがけず、GiSTって何のことなのかわかってしまった気がするのでメモしておく。

GiST(Generalized Search Tree)とは、PostgreSQL で使えるインデックスの種類のひとつなんだけど、それを理解するには R-Tree を知っておいたほうがいい。もちろん B-Tree も知ってた方がいい。 適当に検索してみてください。図を見ればなんとなくわかると思います。

B-Tree は値の大小でグループに分けて、ツリーを構成していて、R-Tree は平面上のある領域内に含まれるかどうかでグループ分けをして、ツリーを構成している。

つまり、何かしらグループ分けする基準さえあれば、何かしらのツリーが構成できる、というのが GiST らしい。

と考えると、ちんぷんかんぷんだった GiST の説明もちょっと見えてくる。

GiSTインデックス:実装

consistent というのは、そのグループ(ノード)に含まれるかどうかの検査で、union はノードの結合、みたいな話だと思う。

だいたい同じことが

GiST - Introduction

にも書いてあるのでコッチを見たほうがいいかもしれない。

contrib/ltree が面白そうなので今度書くかも。

Writeback:0

Comment Form

writeback message: Ready to post a comment.

TrackBack ping me at
http://www.mono-space.net/blog/pgsql/e061107_gist.trackback

Page Top