[pgsql-jp: 32031] Re: count が以上に遅い。

Tomoyuki Morinaga Tomoyuki_Morinaga @ justsystem.co.jp
2004年 1月 15日 (木) 13:28:45 JST


森永@ジャストシステムと申します。

postgres とはあまり関係ないレスで恐縮ですが・・・

> > > Where句に,「A and B」といった式があったとして,
> > > AとBのどちらを先に評価しても,結果は同じですが
> > > オプティマイザがこの順序を変えるという話しは,聞いた事はありません.
> >
> > 商用DBの場合はcardinality大小ないしは、インデックスのありなしで
> > プランはかわったりします。
>
> WHERE句の条件式は,パーサが解析し「構文解析ツリー」に変換されます.
> プランナ/オプティマイザは,構文解析ツリー内で"リレーション"部分の
> 実行方法(indexを使う等)を最適化します.
> リレーション毎にコストを見積もりプランを決定しますが,
> その結果で,どのリレーションがコストが低くて優先して実行するかという事は
> 行っていません.
> Where句の条件実行順をプランナ/オプティマイザは把握していない
> (する必要がない?)はずです.

これは商用の DB の場合にはあると思いますよ・・・
最適化が条件式を勝手に変形することさえあるのでは
(もちろん等価な変換で)。

------------------------------------------------
Tomoyuki Morinaga
email: tomoyuki_morinaga @ justsystem.co.jp




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