PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
21836 05/03/28 10:47:43 SQLの連続発行によるパフォーマンスの低下 By ろいたん

カテゴリ:データベース
日付:2005年03月28日 10:47 発信者:ろいたん
題名:SQLの連続発行によるパフォーマンスの低下

お世話になります。

先日のレポートに関する問題は何とか解決いたしました。

今回はSQLの連続発行によって極端にパフォーマンスが落ちてくる
という現象に悩まされています。

プログラムの流れは以下の通りです。
1.データストアを2つ作成
2.各データを検索する。(1つは条件によりキーの範囲を収めたもの)
3.範囲内のデータに関する情報を2つめのデータストアストアから取得する。
4.取得した値に応じてSQLを発行する。
5.3.4を件数分繰り返す。
6.1のデータストアを破棄

このとき4で発行しているSQLは
Mysql = \"select 1 where exists (select * from \"+ s_table +\" where err_code = \'\" + err_code + \"\' 
and \" + s_column + \" = \'\"+ data +\"\')\"

DECLARE my_sql DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM :Mysql;
OPEN DYNAMIC my_sql;
FETCH my_sql INTO :li_ex;
CLOSE my_sql;

条件によってMysqlの部分が数種類あります。

これを実行させると800件を超えたあたりから極端に遅くなります。
感覚的ですが当初3件/secくらいだった物が5?6秒で1件と20倍?30倍くらい遅くなります。

何かご存じでしたら教えてください。
サーバーは現在Postgres7.4.6を使用しています。


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS (記載なし)
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.