explain.depesz.com

PostgreSQL's explain analyze made readable

Result: zMkD

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

Limit (cost=569.24..569.24 rows=1 width=5,717) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=569.24..569.24 rows=1 width=5,717) (actual rows= loops=)

  • Sort Key: ((((ts_rank(retailer_products.full_text_v1, '''pear'''::tsquery, 1) * '100'::double precision) + COALESCE(products_conversions.score, '0'::double precision)) * '1'::double precision)) DESC, items_0.item_id DESC
3. 0.000 0.000 ↓ 0.0

WindowAgg (cost=18.08..569.23 rows=1 width=5,717) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=18.08..569.20 rows=1 width=5,604) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=17.79..566.96 rows=1 width=4,703) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=17.51..565.84 rows=1 width=4,675) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=17.22..562.78 rows=1 width=4,064) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=16.80..553.27 rows=1 width=4,056) (actual rows= loops=)

  • Filter: (COALESCE(items_availabilities.availability_score, '0.87'::double precision) > '0.25'::double precision)
9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=16.65..552.54 rows=3 width=4,048) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on retailer_products (cost=16.36..185.50 rows=47 width=2,941) (actual rows= loops=)

  • Recheck Cond: (full_text_v1 @@ '''pear'''::tsquery)
11. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on index_retailer_products_on_full_text_v1 (cost=0.00..16.35 rows=47 width=0) (actual rows= loops=)

  • Index Cond: (full_text_v1 @@ '''pear'''::tsquery)
12. 0.000 0.000 ↓ 0.0

Index Scan using index_items_0_on_product_id_and_inventory_area_id on items_0 (cost=0.29..7.80 rows=1 width=1,107) (actual rows= loops=)

  • Index Cond: ((product_id = retailer_products.product_id) AND (inventory_area_id = 20,636))
  • Filter: (visible AND available AND (retailer_products.retailer_id = retailer_id))
13. 0.000 0.000 ↓ 0.0

Index Scan using items_availabilities_0_item_id_idx on items_availabilities_0 items_availabilities (cost=0.15..0.23 rows=1 width=16) (actual rows= loops=)

  • Index Cond: (item_id = items_0.item_id)
14. 0.000 0.000 ↓ 0.0

Index Scan using index_products_conversions_on_cpk on products_conversions (cost=0.42..5.87 rows=1 width=12) (actual rows= loops=)

  • Index Cond: ((version = 3) AND (product_id = items_0.product_id) AND ((query)::text = 'paper'::text))
15. 0.000 0.000 ↓ 0.0

Index Scan using index_deprecated_retailer_products_mls_cpk on deprecated_retailer_products_mls (cost=0.29..3.06 rows=1 width=619) (actual rows= loops=)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
16. 0.000 0.000 ↓ 0.0

Index Scan using index_deprecated_retailer_products_cpgs_cpk on deprecated_retailer_products_cpgs (cost=0.29..1.12 rows=1 width=36) (actual rows= loops=)

  • Index Cond: ((retailer_id = items_0.retailer_id) AND (product_id = items_0.product_id))
17. 0.000 0.000 ↓ 0.0

Index Scan using deprecated_items_denormalizeds_0_product_id_idx on deprecated_items_denormalizeds_0 (cost=0.29..2.22 rows=1 width=901) (actual rows= loops=)

  • Index Cond: (product_id = items_0.product_id)