[pgsql-jp: 31509] Re: PostgreSQL v.s. Access
T.P.S.Nakagawa
yaemon @ kikansha.jp
2003年 11月 19日 (水) 12:53:44 JST
パイプ喫いの中川です。
坂田さんが
11月19日11時40分に発信された
「[pgsql-jp: 31504] Re: PostgreSQL v.s. Access」こと
<3FBAD82C.3090907 @ lab.ntt.co.jp>より
> ファイルを使わずに、全部DB内に閉じた方法でやるなら、
> つまり、バックアップ先もDBのテーブルにするなら(それをt3とします);
>
> INSERT INTO t3
> SELECT * FROM t1 WHERE t1.id1 = t1.id2;
>
> とすればよいですね。
ファイルにバックアップをするとしても、この t3 をファイルにバックアップ
( PostgreSQL ならば \copy ) するのが速くて
> 気になるのは、1回joinして求めた表の内容を、再度求めているという点です。
> (無駄ですよね)
>
> これを回避するには、最初のEx.1で求めた問い合わせ結果をカーソルで読み出しつつ、
> t1から該当する行を取り出してバックアップし、完了後に削除する、という方法があります。
>
たとえ2回 join することになったとしても、カーソルを使わずに
SQL でデータを集合として扱う方が速い ( リレーショナル・データベース
とはそのように最適化されている)、と私は思っていたのですが、
単なる思い込みでしょうか?
========================================================================
"Of course, we talk!" --Lina Lamont--
--
中川 恒雄 ( T.Nakagawa ) mailto:yaemon @ kikansha.jp
http://www.kikansha.jp/~yaemon/
pgsql-jp メーリングリストの案内