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

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。