[pgsql-jp: 33900] Re: 異なるクエリ間のコスト比較

TANIDA Yutaka tanida @ sra.co.jp
2004年 8月 20日 (金) 18:37:51 JST


谷田です。

On Fri, 20 Aug 2004 18:21:32 +0900
ITAGAKI Takahiro <itagaki.takahiro @ lab.ntt.co.jp> wrote:

> パラメータを変えて試してみましたが、EXISTS を使うクエリのコストは、
> random_page_cost に大体比例していました。
> もともとのコストが高すぎるため、
> - random_page_cost < 1.0 に小さくする
> - cpu_*_cost を10倍以上に大きくする
> ような、極端なパラメータ設定をしない限りコストは逆転しませんでした。

これらの修正が効果があることを意味するのは、この問い合わせにおけるキャッ
シュヒット率が予期しているより遙かに高い、ということだと思います。

#特にcpu_tuple_costなんかは、カーネルキャッシュに乗る程度の量のデータベー
スであれば、デフォルト値は小さすぎで、むしろ10倍したほうが適切なプランが
出てきます。

> 単なる勘なのですが……
>   ループの一週目のコストにループ数を掛けているので、
>   二週目以降のループではキャッシュが効いて、実際には高速に処理できている
> ……いう状態になっているんでしょうか?

そうですね。その通りだと思います。


-- 
TANIDA Yutaka <tanida @ sra.co.jp>




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