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