[pgsql-jp: 33798] Re: 効率的な嗔�について

Tomoyuki Asakawa tom @ asakawa.ne.jp
2004年 8月 4日 (水) 15:18:47 JST


あさかわ

> この検索をする場合、まずAが誰に繋がっているかをみて、繋がっていた相手が
> 誰に繋がっているかをみて、そのまた繋がっている相手の相手をみて・・・と何
> 度と無くSQLを投げる事になってしまいます。

そういうデータ構造なので当然だと思う。
SQLの回数が多いのが、非効率かどうかは、その使い方だと思うので
SQLが1回ですむから、全部メモリーに入れるなんてのは、
その為に、全データを読み込まないとならないという、コストとの、トレードオフで決まると思う。

>
> このようなネットワーク構造を持つデータで、何か効率的な解決方法に心当たり
> のある方は、ご連絡頂けると幸いです。

このテーブル構造だけでな、何が効率的なのかなんて言えないと思います。

たぶん、このテーブル以外に、Bとは、どんなものか、Cとはどんな者かという様な
テーブルがあるはずですよね。

仮に、これが、組織構造を表してるとすると

そもそもが、ツリー構造なので、それを表示するなら、SQLを連発しながら、再起的にツリーをたどるしかないでしょう。

構造を表示したいのではなく、要素の一部を検索して、その要素が
どの要素と関連があるのかを検索するなら、先にそれを検索して

下から上に再起的にたどることになるはずです。
ようするにに、効率ってのは、時と場合です。










pgsql-jp メーリングリストの案内