2010年11月 8日

[pgsql-jp: 40517] ご質問m(_ _)m

はじめましてm(_ _)m

Oracle ⇒ PostgreSQLへの移行準備で
検証作業を行っております。
PostgreSQLの環境設定まわりに
知識が皆無の為、困っております。

どうか、お力添えの程お願いいたします。


検証中のJavaプログラムにて更新画面の表示にやたらと
時間(約10〜15秒)がかかります。
Oracle環境では約2〜3秒で表示されます。

実際プログラムでは更新画面を表示するまでに
下記、回数のDBアクセスを行っております。
(情報量によってことなりますが)
SELECTで15〜20回程
UPDATEで1回〜3回程、
INSERTで2回程

Javaで遅いのか、PostgreSQLで遅いのかの調査を行ったところ
どうも、PostgreSQLのSELECTの解析(パース)にて時間がかかっている
ことがわかりました。

平均で500ミリ秒程度
バインド、実行には殆ど時間を要していません。
(0.10〜0.80ミリ秒)

SELECTの解析(パース)に時間がかかると言うことはSQL文の
構成がまずいと言うことになるのでしょうか?
(SQL文はOracle環境で動作していたものを
PostgreSQLで動作する様に修正をかけたもの)

もし、環境設定等で対応することは可能なのでしょうか?

【検証環境】
OS :WindowsXP (SP3)
CPU:Inter(R) Core(TM)2 1.57GHz
RAM:0.97GB
使用言語:Java(JDBC)、JDK1.4.2
PostgreSQL Ver9.0.1(Windows版)

【PostgreSQL環境変更点】
shared_buffers = 32MB ⇒ 128MB
work_mem = 1MB ⇒ 8MB
temp_buffers = 8MB ⇒ 16MB
以上3箇所のみ

【テーブル構成】
詳細には記述できませんが
最大レコード長 ・・ 18,863バイト(列数:108)
最大インデックス数 ・・ 98個
と言ったテーブルがあります。

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




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