[pgsql-jp: 30985] Re: 大容量データの更新方法
斎見 浩平
saimi_at_qs @ ybb.ne.jp
2003年 9月 8日 (月) 05:38:02 JST
サイミです。
> > 例えば、Aを100万件更新するのに時間がかかりすぎるというのならば、Bにレ
> > コードを追加する作業は、それ以上の時間を要すると思いますよ。
>
> 該当データを探しながらそのデータの変更や削除を行うより
> 新規に登録を行う方が時間が掛かるとは知りませんでした。
該当データを検索するのに、「索引」が使用できれば、バイナリサーチに
なると思いますので、log(n)のオーダーで検索可能なはずです。
いや、主キーや索引なしで数百万レコードのテーブルを操作するのは無理
でしょう。更新より何より、他のテーブルとのリレーションを取るのも大変
な時間がかかると思います。
それよりもネットワーク間、ファイル間のデータ転送の量のほうが処理速
度に響くと思います。新規にテーブルを起こすならば、更新されないフィー
ルド、更新されないレコードのデータもデータベースに食わせる訳ですよね。
条件によってはGTさんの考えていた方法のほうが速いかもしれません。
もしそこがクリティカルな問題ならば、どちらが速いか試してみてもいい
のでは?
--
斎見 浩平 <saimi_at_qs @ ybb.ne.jp>
pgsql-jp メーリングリストの案内