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