Re: Pervasive以外の処理速度について
atushi
居住地: 長野県
投稿数: 30
yone様、こんにちは
・問題の切り分けとして、念のために、
既存PGを残しておいて、PGを一式コピーしてから、
バッチ集計中の画面表示をメッセージのみにするなどして、
測定してみると、どうなりますでしょうか?
「〜検索中..」「〜作成中..」などなど。
V8からV9Plus移行の場合になってしまいますが、1レコードずつの
値表示の場合、極端に遅くなってしまうことがありました。
その中でもラインモードのバッチ画面は、特に遅いので、必ず、
スクリーンモードにします。
速度的には、画面表示なしが一番速いですが、長時間かかるバッチ
は、フリーズしていると勘違いされるので、何か画面表示は
あった方が良いと思われます。
-----------------------------------------------------------
V8で正常動作しているプログラムと思われるので、以下の内容は、
あまり関係ないですが、全体的に速くしたい場合のみ良いかも。
<私は、オラクルでの場合なので、以下参考程度。>
-----------------------------------------------------------
・物理トランザクションでのコミットを、レコード単位ではなく
タスク単位もしくは、処理単位にして、コミット回数を減らすと、
搭載メモリにもよりますが、速くはなると思います。
(処理単位はトランザクション失敗で、実行前までロールバック)
・多重ループの場合、できればレコード数が多いテーブルを最初の
タスクのメインテーブルにして、リンクは照会リンクではなく、
可能な限り結合リンクで抽出したり、外部リンクを使用する。
(SELECT文の発行数や、ループするタスク数を減らすのが目的。)
・メインテーブルの範囲に記述できない抽出は、範囲式ではなく、
[DB SQL]でWHERE句の抽出をする。
(以下、追記)
・結合リンクのキー以外の抽出は、全て位置付で行う。
テストしてみると、結合リンク範囲だと遅くなるのがわかります。
位置付に記述できない場合は、[DB SQL]でWHERE句を記述する。
※結合/外部リンクがあると、[DB SQL]ではアルファベットで
テーブル名を指定するようになります。
・速度面だけを考えるとMAGICでもVBでも同じように実行できる
ストアドプロシージャを使用する。
・問題の切り分けとして、念のために、
既存PGを残しておいて、PGを一式コピーしてから、
バッチ集計中の画面表示をメッセージのみにするなどして、
測定してみると、どうなりますでしょうか?
「〜検索中..」「〜作成中..」などなど。
V8からV9Plus移行の場合になってしまいますが、1レコードずつの
値表示の場合、極端に遅くなってしまうことがありました。
その中でもラインモードのバッチ画面は、特に遅いので、必ず、
スクリーンモードにします。
速度的には、画面表示なしが一番速いですが、長時間かかるバッチ
は、フリーズしていると勘違いされるので、何か画面表示は
あった方が良いと思われます。
-----------------------------------------------------------
V8で正常動作しているプログラムと思われるので、以下の内容は、
あまり関係ないですが、全体的に速くしたい場合のみ良いかも。
<私は、オラクルでの場合なので、以下参考程度。>
-----------------------------------------------------------
・物理トランザクションでのコミットを、レコード単位ではなく
タスク単位もしくは、処理単位にして、コミット回数を減らすと、
搭載メモリにもよりますが、速くはなると思います。
(処理単位はトランザクション失敗で、実行前までロールバック)
・多重ループの場合、できればレコード数が多いテーブルを最初の
タスクのメインテーブルにして、リンクは照会リンクではなく、
可能な限り結合リンクで抽出したり、外部リンクを使用する。
(SELECT文の発行数や、ループするタスク数を減らすのが目的。)
・メインテーブルの範囲に記述できない抽出は、範囲式ではなく、
[DB SQL]でWHERE句の抽出をする。
(以下、追記)
・結合リンクのキー以外の抽出は、全て位置付で行う。
テストしてみると、結合リンク範囲だと遅くなるのがわかります。
位置付に記述できない場合は、[DB SQL]でWHERE句を記述する。
※結合/外部リンクがあると、[DB SQL]ではアルファベットで
テーブル名を指定するようになります。
・速度面だけを考えるとMAGICでもVBでも同じように実行できる
ストアドプロシージャを使用する。
投票数:0
平均点:0.00
投稿ツリー
-
Pervasive以外の処理速度について
(yone, 2007-5-7 9:43)
-
Re: Pervasive以外の処理速度について
(atushi, 2007-5-7 18:49)
- Re: Pervasive以外の処理速度について (yone, 2007-5-8 11:23)
-
Re: Pervasive以外の処理速度について
(atushi, 2007-5-7 18:49)