部分インデックスの使い方

条件に合う行だけのインデックス

書き方

CREATE INDEX 名前 ON 表 (列) WHERE 条件;
CREATE UNIQUE INDEX 名前 ON 表 (列) WHERE 条件;

WHERE に合う行だけを持つので小さく済みます。UNIQUE にすると「条件に合う行の中でだけ重複を許さない」決まりも作れます(有効な会員の中でメールが重ならない、など)。

例

CREATE UNIQUE INDEX members_active_email ON members (email) WHERE active;

実際に打って練習する

PostgreSQL コースの Lv29「条件つきの索引 部分インデックス」で覚えます。ブラウザの中のシミュレーターで、本物と同じように打って確かめられます。

Lv1〜2 はログインすると無料で試せます(それより先はゴールド以上のプランで遊べます)。

PostgreSQL の構文一覧(psql・JSONB・PL/pgSQL)へ戻る