は、私はそうのようなインデックスを作成する2000万行を持つテーブルがあると言う:インデックスが部分的に作成されていると、パフォーマンス/インデックスサイズが目立つようになりますか?
CREATE INDEX fruit_color
ON fruits
USING btree
(color);
今度は、果実のわずか2%が色を持っていることを、残りはNULL
になりましょう。
CREATE INDEX fruit_color
ON fruits
USING btree
(color)
WHERE color IS NOT NULL;
私はあまり知らない:私は、インデックスを変更した場合、それはPostgreSQLの違いを生むだろう、私のクエリは、色NULL
(色なし)と果物を見つけたい決してますので、疑問がありますpostgresqlのインデックスの内部処理方法については、これが私が尋ねる理由です。
PS postgresqlバージョンは9.2
私の推測では、BTreeの色の部分はどちらの場合も同じように見えるので、インデックスのパフォーマンスはそれほど変わらないでしょう。インデックスのサイズは異なる場合があります。実際に両方のインデックスを 'EXPLAIN'と一緒に使ってみましたか? –