a person powered by ototoy blog

モヘンジョだろ!!

2006年 01月 25日

PostgreSQLというかDB全般的に [日々雑記]

数百万レコードあるテーブルに対して

UPDATE table SET hoge = foo WHERE hage = bar;

みたいな更新を一気にやるより、スクリプトでループを回しながらポチポチ数百万回SQLを発行したほうが全然早いのは何故なんだろう?単純に考えるとスクリプトのオーバーヘッドの方が全然大きいはずなのになぁ。

というわけで、400万回ループ(800万SQL発行)をぼちぼち実行中。

| Posted By nt 投稿日: 2006年1月25日 5時57分 更新日: 2006年1月25日 5時57分

コメント

まじっすか?
by ひろゆき - 2006年1月25日 15時57分
メモリの確保のコストなのか、rewardするための保険なのか、すげー時間かかるんだよね。
by nt - 2006年1月27日 2時8分
トランザクションセーフティのせいではないかな・・・おいらの経験だと1000件単位ならとりあえず使える。
by あかべこ - 2006年1月30日 8時20分
name:
comment:
【コメントに関する注意事項】
記事と全く関連性のないコメント(例:宣伝目的のコメントスパムなど)は、オーナーの判断により削除される場合があります。 - レコミュニ会員としてコメントする

トラックバック