2010年11月 9日

[pgsql-jp: 40521] Re:UPDATEエラー後の処理時間増加について

2010/11/9 <munekatsu.tomori@xxxxx>:
> TRUNCATE/INSERT対象のテーブルとUPDATE対象のテーブルは別テーブルとなっています。
> UPDATEエラー後、再度処理を実行したときにINSERT処理が遅くなるのとは何か関係があるのでしょうか?

UPDATEは別テーブルなのですね。勘違いしていました。

INSERT 対象のテーブルの論理的な構造は、TRUNCATE でリセットされるので
毎回元に戻るはずです。そのテーブル上の主キーも同様リセットされます。

もし性能差があるとすれば、UPDATE対象のテーブルを含む、他のテーブルの
影響と思われます。

> 「postgresql.conf」は、デフォルトのままです。

さすがにデフォルトのままだと共有メモリやWALセグメント数が少なすぎて、
他のデータの影響を受けやすいのかもしれません。ファイルシステムの
断片化も可能性としてはありますが、Linux であれば影響は小さいはず…。

挙動の解析は意外に面倒だと思うので、先にざっくりとチューニングして
みてはいかがでしょうか。主キーもロード前にいったん DROP したほうが
性能が安定します。以前記事を書きましたので、参考までに。
http://lets.postgresql.jp/documents/technical/bulkload/

--
Itagaki Takahiro

投稿者 xml-rpc : 2010年11月 9日 13:42
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/99991
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。