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

Hiroshi Inoue inoue @ tpf.co.jp
2010年 12月 9日 (木) 06:52:39 JST


井上です。

(2010/12/08 17:25), toshihideka4316 @ zenrin.co.jp wrote:
> お世話になります、片山です。
> 
>> 強制切断した際に何故コミットが反映されるのかはよくわかりませんが、Out
>> of memoryになった際のドライバの処理が中途半端なのは確かです。ちょこ
>> ちょこと修正したものを
>>  http://www.ne.jp/asahi/inocchichichi/entrance/psqlodbc/indexj.html
>> に置きました。9.0.0201ではなく9.0.0202に向けて確認テスト中のドライバを
>> お試しください。
> 修正版の用意、ありがとうございます。
> 
> 動作確認を行っていて気づいたのですが、
> ODBCドライバのバージョンによってout of memoryになるまでの時間が大きく異なりま
> す。
> (ver9.0.02以降ではクライアントのメモリがじわじわ上がってout of memoryとなり
> ますが、ver8.2.4ではすぐにout of memoryとなります)
> そして、ver9.0.02以降ではトランザクション反映の遅延が発生しません。
> 
> ■out of memoryとなるまでの時間
> (使用しているSQLはselect * from TESTDBという単純なSQLですが、レコードが大量
> にある為普通にselectするとout of memoryとなります)
> ver9.0.02⇒約13分
> ver9.0.0202に向けて確認テスト中のドライバ⇒約10分
> ver8.2.4⇒5秒

9.0.0202ではOut of memoryが発生しても残りのデータを読み飛ばして
処理が継続出来るようになるまでエラーを返さないため一番遅いはず
なのですが???。
8.2.4が異常に早いですね。正しく動作しているのならこれが一番よい
のですが、psqlで実行するとどんな感じでしょうか?

> また、ver8.2.4とver9.0.02ではout of memory以外の普通のSQL実行速度は同じでし
> た。
> 
> 以上です。


pgsql-jp メーリングリストの案内