2010年11月 4日

[pgsql-jp: 40499] Re:大容量のテーブルに対してSQLを発行するとエラーになる件について

2010/11/4 Hiroshi Inoue <inoue@xxxxx>:
> psqlodbcドライバは取得データをメモリに保持しますので、これだけ大量の
> データを取得すると大抵の場合メモリーオーバーフローを起こします。回避
> するためにはDeclare?Fetchを使用するをオンにして利用してください。

便乗質問になりますが、この際には DECLARE と FETCH の SQL を
発行することになりますか? 拡張プロトコルであれば、
プロトコル・レベル・カーソルもサポートされていると思いますが、

ODBC ドライバでは利用されないでしょうか?

少数の行の取得の場合は DECLARE + FETCH のオーバーヘッドが
無視できないので、少しでも軽いプロトコル・レベル・カーソルを
使えれば良いなと思うことがあります。
# libpq ではサポートされていないことが分かっているので、
# もし ODBC でサポートされているならば、移行を考えていました。

--
Itagaki Takahiro

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




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