2013年4月2日のブックマーク (1件)

  • [PostgreSQL]本当は怖いREINDEX · DQNEO日記

    REINDEXをすると、そのIndexを使用するSELECT文はブロックされます。 そしてSELECT文はたいていIndexを使用します。 つまり、たいていのケースではREINDEXでSELECT文がブロックされます。 (ブロックされないのは、そのテーブルにアクセスが全く来ない場合とか、よっぽど特殊なケース) 公式マニュアルにはこのことがはっきり書かれていない(極めて紛らわしい書き方になっている)ので注意が必要です。 REINDEXはインデックスの元となるテーブルの書き込みをロックしますが、読み込みはロックしません。 また、処理中のインデックスに対する排他ロックを取得するので、そのインデックスを使用する読み込みはブロックされます。 http://www.postgresql.jp/document/8.4/html/sql-reindex.html この説明の肝は最後の一文にあります。 た

    n986121
    n986121 2013/04/02
    PostgreSQLのINDEXをイタズラするときには超重要!!