explain.depesz.com

PostgreSQL's explain analyze made readable

Result: MDp8

Settings
# exclusive inclusive rows x rows loops node
1. 0.003 2.292 ↓ 6.5 26 1

Limit (cost=336.72..336.73 rows=4 width=5,741) (actual time=2.283..2.292 rows=26 loops=1)

2. 0.406 2.289 ↓ 6.5 26 1

Sort (cost=336.72..336.73 rows=4 width=5,741) (actual time=2.282..2.289 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.484 1.883 ↓ 6.5 26 1

WindowAgg (cost=95.05..336.68 rows=4 width=5,741) (actual time=1.654..1.883 rows=26 loops=1)

4. 0.044 1.399 ↓ 6.5 26 1

Nested Loop Left Join (cost=95.05..336.55 rows=4 width=5,620) (actual time=0.781..1.399 rows=26 loops=1)

5. 0.037 1.277 ↓ 6.5 26 1

Nested Loop Left Join (cost=94.76..303.30 rows=4 width=4,719) (actual time=0.754..1.277 rows=26 loops=1)

6. 0.052 1.162 ↓ 6.5 26 1

Nested Loop Left Join (cost=94.48..271.53 rows=4 width=4,691) (actual time=0.725..1.162 rows=26 loops=1)

7. 0.031 1.058 ↓ 6.5 26 1

Nested Loop Left Join (cost=94.19..239.77 rows=4 width=4,080) (actual time=0.706..1.058 rows=26 loops=1)

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

Nested Loop Left Join (cost=94.04..231.53 rows=4 width=4,072) (actual time=0.675..1.001 rows=26 loops=1)

9. 0.039 0.931 ↓ 6.5 26 1

Nested Loop Left Join (cost=93.89..216.64 rows=4 width=4,064) (actual time=0.652..0.931 rows=26 loops=1)

10. 0.055 0.840 ↓ 6.5 26 1

Nested Loop (cost=93.47..182.41 rows=4 width=4,056) (actual time=0.638..0.840 rows=26 loops=1)

11. 0.027 0.681 ↓ 6.5 26 1

Nested Loop Left Join (cost=93.19..150.64 rows=4 width=1,115) (actual time=0.618..0.681 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.054 0.654 ↓ 2.4 26 1

Bitmap Heap Scan on items_0 (cost=88.98..134.73 rows=11 width=1,107) (actual time=0.609..0.654 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.008 0.600 ↓ 0.0 0 1

BitmapAnd (cost=88.98..88.98 rows=12 width=0) (actual time=0.599..0.600 rows=0 loops=1)

14. 0.138 0.138 ↑ 1.0 80 1

Bitmap Index Scan on search_index_v2_items_0_test (cost=0.00..28.80 rows=80 width=0) (actual time=0.138..0.138 rows=80 loops=1)

  • Index Cond: ((full_text_v2 @@ '''appl'''::tsquery) AND (inventory_area_id = 20,636))
15. 0.454 0.454 ↓ 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=0.454..0.454 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.000 0.004 ↓ 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.004 rows=0 loops=1)

  • Recheck Cond: (inventory_area_id = 20,636)
18. 0.004 0.004 ↓ 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.004 rows=0 loops=1)

  • Index Cond: (inventory_area_id = 20,636)
19. 0.104 0.104 ↑ 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.004..0.004 rows=1 loops=26)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
20. 0.052 0.052 ↓ 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.002..0.002 rows=0 loops=26)

  • Index Cond: ((version = 3) AND (product_id = items_0.product_id) AND ((query)::text = 'apple'::text))
21. 0.026 0.026 ↓ 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.001..0.001 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.013 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.013 0.013 ↓ 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.013..0.013 rows=0 loops=1)

  • Index Cond: ((term = 'apple'::text) AND (retailer_id = '-1'::integer))
24. 0.052 0.052 ↑ 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.002..0.002 rows=1 loops=26)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
25. 0.078 0.078 ↑ 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.003..0.003 rows=1 loops=26)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
26. 0.078 0.078 ↑ 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.003..0.003 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 : 25.505 ms