[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 メーリングリストの案内