explain.depesz.com

PostgreSQL's explain analyze made readable

Result: FtwE

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Group (cost=18,797.78..18,797.80 rows=1 width=11) (actual rows= loops=)

  • Group Key: hashtag.id_hashtag, white.ss_category_name, white.hashtag_filter_group_name
2. 0.000 0.000 ↓ 0.0

Sort (cost=18,797.78..18,797.79 rows=1 width=11) (actual rows= loops=)

  • Sort Key: hashtag.id_hashtag, white.ss_category_name, white.hashtag_filter_group_name
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.00..18,797.77 rows=1 width=11) (actual rows= loops=)

  • Join Filter: ((hashtag.hashtag_key_word)::text ~~ (('%'::text || white.hashtag_key_word) || '%'::text))
4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=0.00..18,784.09 rows=1 width=21) (actual rows= loops=)

  • Join Filter: ((hashtag.hashtag_key_word)::text ~~ (('%'::text || black.hashtag_key_word) || '%'::text))
  • Filter: (black.id_outfit_item_hashtag_filter IS NULL)
5. 0.000 0.000 ↓ 0.0

Seq Scan on hashtag (cost=0.00..58.38 rows=3,038 width=21) (actual rows= loops=)

  • Filter: (deleted_at IS NULL)
6. 0.000 0.000 ↓ 0.0

Materialize (cost=0.00..12.40 rows=308 width=18) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Seq Scan on outfit_item_hashtag_filter black (cost=0.00..10.86 rows=308 width=18) (actual rows= loops=)

  • Filter: ((deleted_at IS NULL) AND (hashtag_filter_type = 'black'::hashtag_filter_type))
8. 0.000 0.000 ↓ 0.0

Seq Scan on outfit_item_hashtag_filter white (cost=0.00..10.86 rows=161 width=21) (actual rows= loops=)

  • Filter: ((deleted_at IS NULL) AND (hashtag_filter_type = 'white'::hashtag_filter_type))