[pgsql-jp: 25455] Re: deleteにすごく時間がかかる現象について

M_Kakitani kakip @ mars.dti.ne.jp
2002年 3月 28日 (木) 16:09:57 JST


垣谷@大田区です。

On Thu, 28 Mar 2002 15:35:47 +0900
"kiyoshi.yoshida" <kiyoshi.yoshida @ mail.toyota-shokki.co.jp> wrote:
> MLの皆さま、こんにちは。吉田と申します。
> create table history(mykey serial primary key, 
> 	time timestamp default current_timestamp, msg text);
> 上記のテーブルで、20万件ほどの行を削除しようとすると処理時間に2,3時間か
> かってしまいます。
> 実現したいことは、このテーブルから20万件を超える行はtimeソート順に古い物
> から削除したい、ということです。(表現がつたなくて申し訳ありません)
> そのためのSQL文は、以下のように実施してみました。
> SQL文:
> delete from history where mykey in(select mykey from history order by
> time desc offset 200000);
> 
> 処理時間をもっと速くする方法(SQL文を変更するとか)はないのでしょうか。
> (ハードを交換することは今のところ対応できない状況です)

time に index を作成してみては如何ですか?

> 環境は
> DebianPotato+PostgerSQL7.2です。

増強予定が無くても一応ハードの情報があったほうがいいですよ。


-- 
Kakitani
kakip @ mars.dti.ne.jp




pgsql-jp メーリングリストの案内