[pgsql-jp: 31087] Re: explainの結果が違う
Akihito Imai
acdc @ livedoor.com
2003年 9月 19日 (金) 09:39:44 JST
a-kiです。
和田様から指摘のあったVACUUM ANALYZEを実行したところ
両環境とも同じ結果を得ることができました。
これらのテーブルともワークテーブル扱いなので、
現象を再度確認しようとして、これらのテーブルをdrop/create/insertを
すると(件数・カラムは同じです。)
環境Aは Merge Joinで結果が返ってきますが、
環境Bは相変わらず、Hash Joinで結果が返り、
実際にSQLを流すと環境Bは遅いです。
テーブル作成直後は必ずVACUUM ANALYZEを実行しないと
いけないのでしょうか?
> 和田と申します。
> > 現在、2つのテーブルを結合させて情報取得をしようとしているのですが、
> > 環境によって処理速度が全く違うため、そのSQLをexplainしてみたのですが、
> > 結果が違いました。
> >
> > 環境A(問題なしにすぐ結果表示。)
> > Merge Join (cost=139.66..149.66 rows=1 width=739)
>
> > 環境B(環境Aと比べ、約10倍ほど時間がかかる。)
> > Hash Join (cost=22.50..385.00 rows=1 width=1543)
>
> 環境B の方は、VACUUM ANALYZE を行っていないのではないでしょうか?
>
> VACUUM ANALYZE は各列のデータがどのように分布しているのかを表す
> 統計情報を収集します。統計情報が異なると検索方法が違ってくること
> があります。
>
> 外していたらすみません。
>
> ----
> Takahiro Wada (twada @ wni.co.jp)
> Weathernews, Inc. Development Group
> Tel:043-274-5508 Fax:043-274-4957
pgsql-jp メーリングリストの案内