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 (記載なし)
Copyright © 2013 Power Future Co., Ltd.