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