explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Ga9B

Settings
# exclusive inclusive rows x rows loops node
1. 0.007 12.979 ↓ 6.5 26 1

Limit (cost=328.72..328.73 rows=4 width=5,741) (actual time=12.963..12.979 rows=26 loops=1)

2. 0.504 12.972 ↓ 6.5 26 1

Sort (cost=328.72..328.73 rows=4 width=5,741) (actual time=12.961..12.972 rows=26 loops=1)

  • Sort Key: retailer_term_v2s.score DESC NULLS LAST, generic_term_v2s.score DESC NULLS LAST, ((((ts_rank(items_0.full_text_v2, '''appl'''::tsquery, 1) * '100'::double precision) + (COALESCE(products_conversions.score, '0'::double precision) * '100'::double precision)) * '1'::double precision)) DESC, items_0.item_id DESC
  • Sort Method: quicksort Memory: 193kB
3. 0.924 12.468 ↓ 6.5 26 1

WindowAgg (cost=87.05..328.68 rows=4 width=5,741) (actual time=12.128..12.468 rows=26 loops=1)

4. 0.114 11.544 ↓ 6.5 26 1

Nested Loop Left Join (cost=87.05..328.55 rows=4 width=5,620) (actual time=3.906..11.544 rows=26 loops=1)

5. 0.100 10.598 ↓ 6.5 26 1

Nested Loop Left Join (cost=86.76..295.30 rows=4 width=4,719) (actual time=3.819..10.598 rows=26 loops=1)

6. 0.098 9.770 ↓ 6.5 26 1

Nested Loop Left Join (cost=86.48..263.53 rows=4 width=4,691) (actual time=3.744..9.770 rows=26 loops=1)

7. 0.070 6.734 ↓ 6.5 26 1

Nested Loop Left Join (cost=86.19..231.77 rows=4 width=4,080) (actual time=3.669..6.734 rows=26 loops=1)

  • Join Filter: (generic_term_v2s.product_id = items_0.product_id)
8. 0.079 6.638 ↓ 6.5 26 1

Nested Loop Left Join (cost=86.04..223.53 rows=4 width=4,072) (actual time=3.630..6.638 rows=26 loops=1)

9. 0.094 6.481 ↓ 6.5 26 1

Nested Loop Left Join (cost=85.89..208.64 rows=4 width=4,064) (actual time=3.576..6.481 rows=26 loops=1)

10. 0.097 4.281 ↓ 6.5 26 1

Nested Loop (cost=85.47..174.41 rows=4 width=4,056) (actual time=2.658..4.281 rows=26 loops=1)

11. 0.060 3.144 ↓ 6.5 26 1

Nested Loop Left Join (cost=85.19..142.64 rows=4 width=1,115) (actual time=2.574..3.144 rows=26 loops=1)

  • Join Filter: ((items_availabilities.inventory_area_id = items_0.inventory_area_id) AND (items_availabilities.item_id = items_0.item_id))
  • Filter: (COALESCE(items_availabilities.availability_score, '0.87'::double precision) > '0'::double precision)
12. 0.569 3.084 ↓ 2.4 26 1

Bitmap Heap Scan on items_0 (cost=80.98..126.73 rows=11 width=1,107) (actual time=2.560..3.084 rows=26 loops=1)

  • Recheck Cond: ((full_text_v2 @@ '''appl'''::tsquery) AND (inventory_area_id = 20,636))
  • Filter: (visible AND available AND (NOT alcoholic))
  • Rows Removed by Filter: 1
  • Heap Blocks: exact=27
13. 0.014 2.515 ↓ 0.0 0 1

BitmapAnd (cost=80.98..80.98 rows=12 width=0) (actual time=2.514..2.515 rows=0 loops=1)

14. 1.221 1.221 ↑ 1.0 80 1

Bitmap Index Scan on search_index_v2_items_0 (cost=0.00..20.80 rows=80 width=0) (actual time=1.221..1.221 rows=80 loops=1)

  • Index Cond: ((full_text_v2 @@ '''appl'''::tsquery) AND (inventory_area_id = 20,636))
15. 1.280 1.280 ↓ 1.5 4,223 1

Bitmap Index Scan on items_0_available_visible_idx (cost=0.00..59.93 rows=2,764 width=0) (actual time=1.279..1.280 rows=4,223 loops=1)

  • Index Cond: ((available = true) AND (visible = true))
16. 0.000 0.000 ↓ 0.0 0 26

Materialize (cost=4.21..14.39 rows=7 width=20) (actual time=0.000..0.000 rows=0 loops=26)

17. 0.002 0.005 ↓ 0.0 0 1

Bitmap Heap Scan on items_availabilities_0 items_availabilities (cost=4.21..14.35 rows=7 width=20) (actual time=0.004..0.005 rows=0 loops=1)

  • Recheck Cond: (inventory_area_id = 20,636)
18. 0.003 0.003 ↓ 0.0 0 1

Bitmap Index Scan on items_availabilities_0_inventory_area_id_idx (cost=0.00..4.21 rows=7 width=0) (actual time=0.003..0.003 rows=0 loops=1)

  • Index Cond: (inventory_area_id = 20,636)
19. 1.040 1.040 ↑ 1.0 1 26

Index Scan using index_retailer_products_on_retailer_id_and_product_id on retailer_products (cost=0.29..7.94 rows=1 width=2,941) (actual time=0.040..0.040 rows=1 loops=26)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
20. 2.106 2.106 ↓ 0.0 0 26

Index Scan using index_products_conversions_on_cpk on products_conversions (cost=0.42..8.44 rows=1 width=12) (actual time=0.081..0.081 rows=0 loops=26)

  • Index Cond: ((version = 3) AND (product_id = items_0.product_id) AND ((query)::text = 'apple'::text))
21. 0.078 0.078 ↓ 0.0 0 26

Index Scan using index_retailer_products_term_v2s_on_natural_key on retailer_products_term_v2s retailer_term_v2s (cost=0.15..3.45 rows=1 width=16) (actual time=0.003..0.003 rows=0 loops=26)

  • Index Cond: ((term = 'apple'::text) AND (retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
22. 0.012 0.026 ↓ 0.0 0 26

Materialize (cost=0.15..8.18 rows=1 width=12) (actual time=0.001..0.001 rows=0 loops=26)

23. 0.014 0.014 ↓ 0.0 0 1

Index Scan using index_retailer_products_term_v2s_on_natural_key on retailer_products_term_v2s generic_term_v2s (cost=0.15..8.17 rows=1 width=12) (actual time=0.014..0.014 rows=0 loops=1)

  • Index Cond: ((term = 'apple'::text) AND (retailer_id = '-1'::integer))
24. 2.938 2.938 ↑ 1.0 1 26

Index Scan using index_deprecated_retailer_products_mls_cpk on deprecated_retailer_products_mls (cost=0.29..7.94 rows=1 width=619) (actual time=0.113..0.113 rows=1 loops=26)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
25. 0.728 0.728 ↑ 1.0 1 26

Index Scan using index_deprecated_retailer_products_cpgs_cpk on deprecated_retailer_products_cpgs (cost=0.29..7.94 rows=1 width=36) (actual time=0.028..0.028 rows=1 loops=26)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
26. 0.832 0.832 ↑ 1.0 1 26

Index Scan using deprecated_items_denormalized_retailer_id_product_id_invent_idx on deprecated_items_denormalizeds_0 (cost=0.29..8.31 rows=1 width=901) (actual time=0.032..0.032 rows=1 loops=26)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id) AND (inventory_area_id = items_0.inventory_area_id) AND (inventory_area_id = 20,636))
Planning time : 48.118 ms