[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 メーリングリストの案内