PostgreSQL インデックス作成
PostgreSQL インデックス作成
とあるサイトのログイン処理が遅いな〜
と思ってEXPLAINで確認したら、「Seq Scan」って、インデックス使ってない。。
# EXPLAIN select * from session where id='xxxxx'; QUERY PLAN ----------------------------------------------------------------- Seq Scan on "session" (cost=0.00..49190.06 rows=9651 width=72) Filter: (id = 'xxxxx'::text)
インデックスを作成
CREATE INDEX session_idx ON session (id);
確認
# EXPLAIN select * from session where id='xxxxx'; QUERY PLAN ------------------------------------------------------------------------------- Index Scan using session_idx on "session" (cost=0.00..22.06 rows=5 width=72) Index Cond: (id = 'xxxxx'::text)
コストが下記のように小さくなり、処理が早くなりました。
cost=0.00..49190.06
↓
cost=0.00..22.06