参照のみのデータをWWNで開いている。
他者作のPGを見る機会がありました。
バッチタスク
修正モード
トランザクションモード P=物理
トランザクション開始 L=レコードロック時
ロック方式 I=即時
のバッチタスクがあり
得意先マスタ
商品マスタ
などが照会リンクで定義され、それらのデータへの更新はしないのに
WWNで開かれています。
この参照のみのデータもレコード毎にロックと解除を繰り返していると思いますし、
同じ処理を何台も行うとレコードロックが頻発してしまうかも
しれないのでRWNに変えたいと思いますが
この認識は間違えていないですよね?
初歩的な質問ですみません。
なおこのタスクは、メモリWへの書き込みなので
トランザクション無し
ロック無し
参照だけでいいデータはRWNへ変更します。
-
nkmtさん こんにちは。
nkmtさんが書かれたように、私も更新がないテーブルは、RWでオープンしてます。
バッチ処理が、いかに短時間で処理が済むかも考えても、不用意なオープンモードは控えた方がよいと考えます。
最近は結合リンクも使えるのでたまに使っていたりします。
そんな昨今、そろそろ、遅延トランザクションに切り替えたい 群馬のマジシャン でした(笑)
-
ISHIJIMAさん レスありがとうございます。
忘れてしまう事はありますよね。Magic Optimizer などでたまに点検もしています。
-
こんにちはPuです
バッチタスクで遅延トランにするのと
トランザクションをタスク前でかけるのと
どう違うんですか、いまいち違いを理解しておりません。
でわ~でわ~
-
より短時間で処理を終える(ロック時間を短くする)には、遅延トランのバッチタスクなんですかね?
でも使った事ありません。
バッチタスクでもレコードロック毎トランザクションしか使わないという知り合いもいます。
-
群馬のマジシャンさんもレスありがとうございました。投稿時間が重なったのか今になって気が付きました。複数明細行の伝票を呼び出して、変更、保存する処理は遅延トランザクションを使うのは止めました。
でも複数のレコードを画面に呼び出して、沢山編集して、全てその変更を無かった事にするオンラインタスクでは遅延トランザクションにする事もあれば、タスク前トランザクションにする事もあります。
-
こんにちはPuです
遅延トランはasp.netで言うDataSetと同じような動作と認識してました。
楽観的ロックでコミットする前にそのレコードが他の人から書き換えされていないか判定する仕組み
Wenアプリ(Magicのマージなど使ったWebアプリ)では今まではそのような仕組み(楽観的ロック)を
自前でロジックを作成していましたが
遅延トランではそれをMagicエンジンが行ってくれる、そう認識していましたので
大量のバッチタスクで使用する意味が理解できていない
私の理解不足かもしれません。
でわ~でわ~
-
nkmtさん
私の書き方が微妙でしたね。
nkmtさんの更新していないのに、書き出しで・・・というこちらき何気なく書いたのは失敗でした。皆さんを惑わせてしまったようですね。
すみません。
何がなんでも、遅延トランザクションにしたいのではなく、今までバッチもオンラインもすべて物理トランザクションでしたので、そろそろ遅延にも手を出してみたいな。と。
大量データの一括更新などのバッチ処理での有用性はあまり感じていません。
ケースバイケースで、使い分けできるのでそれは良いと思っています。
トランザクションデータからの更新制御。ここもつっこみどころ満載でしょうが、先勝ち更新の制御ば遅延トランザクションを使ってみるのも手かなと思います。
RIAでは遅延が(遅延しか)使えないのも、その制御を手助けしてくれる。
であれば、オンラインタスクでも使ってみるのもいいかな。と。
以上です。
-
群馬のマジシャンさん、Puさん、ISHIJIMAさん 皆様おはようございます。
私も遅延トランザクション使いこなせていませんし、伝票保存トランザクションから
月間集計データへのプラスマイナスなどの作りをとっております。遅延トランについて私が書くとちょっと問題有りです。^^;
最初の話題の
修正バッチタスクで参照データもWWNオープンするは止めてくれ
と伝えたいと思います。 -
バッチタスクの場合、遅延コミットから物理コミットまでのタイムラグがほとんどありませんので、ほぼ同じ効果ですね。
サインインしてコメントを残してください。
コメント
9件のコメント