[pgsql-jp: 33251] Re: ロックしないvacuum

Hidekazu Ikeda hikeda @ miraclelinux.com
2004年 6月 15日 (火) 13:34:39 JST


池田です。

> | (FULL のない) 通常の VACUUM は単に領域を回収し、そこを再利用可能
> | な状態に変更します。排他的ロックが取得されていないため、この形の
> | コマンドは、テーブルへの通常の読み書き操作と並行して実行すること
> | ができます。
>   :
> | FULL オプションを定常的に使用することは推奨しません
> (http://www.postgresql.jp/document/pg742doc/html/sql-vacuum.html)
> 
> 筆者の思い込みじゃないかと……

 そうみたいですねー

 現状の Full が無い(圧縮無し)の vaccum では、delete 文を発行
する SQL 文をテーブルに発行している感覚で良いみたいですね。

 そこで疑問がまた出たのですが f(^^;)

  1. 並行して削除処理が動くと言う点では、同テーブルを更新処理
     するプログラムは、処理低下を起こす可能性がありますか?

  2. 削除処理が大量に行われた場合にはロックエスカレーションで
     1テーブル全体のロックになる DBMS(SQL Serverとか)が多い
     のですが、PostgreSQL の vaccum ではロックエスカレーション
     は起きないのでしょうか?
     100万件ある table に対して、90万件更新が行われた場合に、
     通常 vacuum を掛けても、テーブルロックにはならない?


ではでは。

--------------------------------------------------
 Hidekazu Ikeda  池田 秀一
    E-mail:ikeda @ miraclelinux.com
    TEL 03-5562-8300   FAX 03-5562-8306
    http://www.miraclelinux.com/
--------------------------------------------------




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