[pgsql-jp: 40517] ご質問m(_ _)m
額田 正一郎
kyu-0705 @ pstc.jp.panasonic.com
2010年 11月 8日 (月) 19:45:56 JST
はじめまして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個
と言ったテーブルがあります。
pgsql-jp メーリングリストの案内