2010年11月19日

[pgsql-jp: 40548] Re:トランザクションの結果反映遅延についてご質問

片山です。

> > ■トランザクションの結果反映に遅延が生じるパターン
> >  処理前レコードのフィールドの値を「テスト」とすると
> >  1)接続、トランザクション開始
> >  2)Update文を発行してレコードを変更(「テスト」⇒「テスト2」)
> >  3)select文にて大容量のデータを取得した結果「out of memory」となった
> >  4)コミット

> >  5)接続の切断
> >  6)切断直後に別接続でSelect文を発行⇒update、コミットされたが結果レ
コード
> > は「テスト」(更新内容が反映されていない)
> >  7)約1分後のSelect文で更新内容が反映された⇒結果レコード「テスト2」⇒
トラ
> > ンザクションの結果が遅延して反映されている
> > #5)にて接続を切断しない場合、20分後のselect文でもトランザクションの結果
が反
> > 映されない
> >    (selectしても結果は「テスト」のまま)
> これらすべて(6,7の再接続後の確認含む)、APから行っているのでしょうか?
> それともAPとは違う、例えばpsqlで別ターミナルから直接確認しているのでしょ
> うか?

6,7については別接続でupdate等を行ったAPからの確認ではなく黒猫SQLstdioという
SQLコンソールソフトを使用しております。

黒猫SQLstdioのページ
< http://kuronekosoft.ewinds.net/sqlstudio.aspx>;

> # 確認はSELECTで1レコード程度みるだけにしてください。
> #ここでOutOfmemory起こしては元も子もないので。
2)で試しにupdateを行っているのは1レコードのみなので、確認も1レコードのみ取得
するSQLを使用しています。

以上です。

投稿者 xml-rpc : 2010年11月19日 13:46
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/100127
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。