処理速度
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
私は現在下記のようなプログラムを作成しているのですが処理速度がかなりかかってしまいます。データ自体は数件しかないのでなぜ処理に時間が掛かるのかが分かりません。どうすれば処理が早くなるでしょうか?
┌─────┐ パラで送る ┌──────┐
│ 表 示 │ ←―――――― │別プログラム│
└───┬─┘ └──────┘
│レコード前でコール
┌──┴───────┐
│プログラム呼び出し|タスク後でコール
└──┬───────┘
┌─┴───────────┐
┌─┴─────────┐ ┌──┴─────┐
│ 既存のデータ削除│ │ワークに書き出し│
└───────────┘ └────────┘
┌─────┐ パラで送る ┌──────┐
│ 表 示 │ ←―――――― │別プログラム│
└───┬─┘ └──────┘
│レコード前でコール
┌──┴───────┐
│プログラム呼び出し|タスク後でコール
└──┬───────┘
┌─┴───────────┐
┌─┴─────────┐ ┌──┴─────┐
│ 既存のデータ削除│ │ワークに書き出し│
└───────────┘ └────────┘
投票数:0
平均点:0.00
pu_mahalo
居住地: 大阪
投稿数: 775
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
こんにちは
環境(DB)がどうなってるのかわからないので
想像で返事しますが
もしisam(pervasive等)をご利用なら
tblのopen closeのオーバーヘッドが
多発しているのではないでしょうか
親taskで 明示的にopenしておけば
早くなると思います
後 それだけの情報では
tblがきちんと正規化され適切なindexが
実装されているかわからないので...コメント不可です
環境(DB)がどうなってるのかわからないので
想像で返事しますが
もしisam(pervasive等)をご利用なら
tblのopen closeのオーバーヘッドが
多発しているのではないでしょうか
親taskで 明示的にopenしておけば
早くなると思います
後 それだけの情報では
tblがきちんと正規化され適切なindexが
実装されているかわからないので...コメント不可です
投票数:0
平均点:0.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
pu_mahaloさん
回答ありがとうございます。ちなみに私はpervasiveを使用しています。
テーブルのopen closeのオーバーヘッドとは
どのようなものでしょうか?
初歩的なことくを聞いてしまいすみません。
勉強中でまだ詳しくないもので.....
回答ありがとうございます。ちなみに私はpervasiveを使用しています。
テーブルのopen closeのオーバーヘッドとは
どのようなものでしょうか?
初歩的なことくを聞いてしまいすみません。
勉強中でまだ詳しくないもので.....
投票数:0
平均点:0.00
kawabata
居住地: 群馬
投稿数: 86
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
こんにちは。
ファイルのオープン/クローズが多くなるようなプログラムは処理が遅くなります。
MAGICはタスクの開始時にそのタスクで使用するファイルをオープンし、タスク終了時にクローズします。
親子関係にあるタスクで、親子間を頻繁に行き来するようなプログラムの場合に、子タスクでのみ使用するファイルがあると、子タスクが呼ばれるたびにファイルをオープンすることになり、処理速度が落ちます。
対策としては、子タスクで使用するファイルを親タスクでオープンしておくことです。親タスクでdbファイルの一覧を開き(ctrl+d)、そこへオープンしておくファイルを記入しておけばOK
親タスクで事前にオープンしてしまえば、子タスクの開始時にファイルオープンが省かれ、処理速度が改善されます。
ファイルのオープン/クローズが多くなるようなプログラムは処理が遅くなります。
MAGICはタスクの開始時にそのタスクで使用するファイルをオープンし、タスク終了時にクローズします。
親子関係にあるタスクで、親子間を頻繁に行き来するようなプログラムの場合に、子タスクでのみ使用するファイルがあると、子タスクが呼ばれるたびにファイルをオープンすることになり、処理速度が落ちます。
対策としては、子タスクで使用するファイルを親タスクでオープンしておくことです。親タスクでdbファイルの一覧を開き(ctrl+d)、そこへオープンしておくファイルを記入しておけばOK
親タスクで事前にオープンしてしまえば、子タスクの開始時にファイルオープンが省かれ、処理速度が改善されます。
投票数:0
平均点:0.00
tennis
投稿数: 178
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
kawabataさん
細かい部分まで説明ありがとうございます。
おかげで速度が速くなりました。助かりました。
細かい部分まで説明ありがとうございます。
おかげで速度が速くなりました。助かりました。
投票数:0
平均点:0.00