explain.depesz.com

PostgreSQL's explain analyze made readable

Result: o0PH

Settings
# exclusive inclusive rows x rows loops node
1. 1.476 357.756 ↑ 5.6 4,282 1

Hash Left Join (cost=130,820.90..137,587.96 rows=24,053 width=349) (actual time=323.566..357.756 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, product.product_name, product.product_number, product_uom_conversions.uom_type_ids, claim_product.distributor_company_id, company.company_name, company.company_number, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, ((CASE WHEN (pm.math_operation_value IS NULL) THEN price_default.price WHEN (pm.math_operation IS NULL) THEN price_default.price WHEN (pm.math_operation = 'ADD'::enum.math_operation) THEN (price_default.price + pm.math_operation_value) WHEN (pm.math_operation = 'SUBTRACT'::enum.math_operation) THEN (price_default.price - pm.math_operation_value) WHEN (pm.math_operation = 'MULTIPLY'::enum.math_operation) THEN (price_default.price * pm.math_operation_value) ELSE price_default.price END / (tuomc.rate / suomc.rate))), ('DEFAULT'::enum.price_tier), claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, contract_item.contract_id, contract_family.contract_title, contract_item.won, COALESCE(claim_product.distributor_invoice_number, cpl.distributor_invoice_number)
  • Inner Unique: true
  • Hash Cond: (claim.contract_sequence = contract_family.contract_sequence)
  • Buffers: shared hit=45865, temp read=1218 written=2821
2. 1.978 353.734 ↑ 5.6 4,282 1

Hash Left Join (cost=130,462.10..137,165.97 rows=24,053 width=332) (actual time=320.993..353.734 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, product.product_name, product.product_number, product_uom_conversions.uom_type_ids, claim.contract_sequence, company.company_name, company.company_number, contract_item.contract_id, contract_item.won, ('DEFAULT'::enum.price_tier), cpl.distributor_invoice_number, ((CASE WHEN (pm.math_operation_value IS NULL) THEN price_default.price WHEN (pm.math_operation IS NULL) THEN price_default.price WHEN (pm.math_operation = 'ADD'::enum.math_operation) THEN (price_default.price + pm.math_operation_value) WHEN (pm.math_operation = 'SUBTRACT'::enum.math_operation) THEN (price_default.price - pm.math_operation_value) WHEN (pm.math_operation = 'MULTIPLY'::enum.math_operation) THEN (price_default.price * pm.math_operation_value) ELSE price_default.price END / (tuomc.rate / suomc.rate)))
  • Hash Cond: ((claim_product.product_id = pro_1.product_id) AND (contract_item.uom_type_id = suomc_1.uom_type_id) AND (claim_product.uom_type_id = tuomc_1.uom_type_id))
  • Buffers: shared hit=45634, temp read=1218 written=2821
3. 28.986 347.739 ↑ 5.6 4,282 1

Hash Left Join (cost=130,151.93..136,344.68 rows=24,053 width=348) (actual time=316.944..347.739 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, product.product_name, product.product_number, product_uom_conversions.uom_type_ids, claim.contract_sequence, company.company_name, company.company_number, ('DEFAULT'::enum.price_tier), contract_item.contract_id, contract_item.won, contract_item.uom_type_id, cpl.distributor_invoice_number, ((CASE WHEN (pm.math_operation_value IS NULL) THEN price_default.price WHEN (pm.math_operation IS NULL) THEN price_default.price WHEN (pm.math_operation = 'ADD'::enum.math_operation) THEN (price_default.price + pm.math_operation_value) WHEN (pm.math_operation = 'SUBTRACT'::enum.math_operation) THEN (price_default.price - pm.math_operation_value) WHEN (pm.math_operation = 'MULTIPLY'::enum.math_operation) THEN (price_default.price * pm.math_operation_value) ELSE price_default.price END / (tuomc.rate / suomc.rate)))
  • Inner Unique: true
  • Hash Cond: (claim_product.contract_item_id = contract_item.contract_item_id)
  • Buffers: shared hit=45571, temp read=1218 written=2821
4. 1.724 93.163 ↑ 5.6 4,282 1

Merge Left Join (cost=104,335.27..104,717.88 rows=24,053 width=315) (actual time=91.075..93.163 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, product.product_name, product.product_number, product_uom_conversions.uom_type_ids, claim.contract_sequence, company.company_name, company.company_number, ('DEFAULT'::enum.price_tier), cpl.distributor_invoice_number, ((CASE WHEN (pm.math_operation_value IS NULL) THEN price_default.price WHEN (pm.math_operation IS NULL) THEN price_default.price WHEN (pm.math_operation = 'ADD'::enum.math_operation) THEN (price_default.price + pm.math_operation_value) WHEN (pm.math_operation = 'SUBTRACT'::enum.math_operation) THEN (price_default.price - pm.math_operation_value) WHEN (pm.math_operation = 'MULTIPLY'::enum.math_operation) THEN (price_default.price * pm.math_operation_value) ELSE price_default.price END / (tuomc.rate / suomc.rate)))
  • Merge Cond: ((claim_product.uom_type_id = tuomc.uom_type_id) AND (claim_product_price.price_id = price_default.price_id))
  • Buffers: shared hit=32061
5. 6.574 91.439 ↑ 5.6 4,282 1

Sort (cost=39,230.15..39,290.28 rows=24,053 width=295) (actual time=91.069..91.439 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, product.product_name, product.product_number, product_uom_conversions.uom_type_ids, claim.contract_sequence, company.company_name, company.company_number, claim_product_price.price_id, cpl.distributor_invoice_number
  • Sort Key: claim_product.uom_type_id, claim_product_price.price_id
  • Sort Method: quicksort Memory: 2399kB
  • Buffers: shared hit=32061
6. 2.798 84.865 ↑ 5.6 4,282 1

Hash Left Join (cost=17,249.19..37,479.82 rows=24,053 width=295) (actual time=44.277..84.865 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, product.product_name, product.product_number, product_uom_conversions.uom_type_ids, claim.contract_sequence, company.company_name, company.company_number, claim_product_price.price_id, cpl.distributor_invoice_number
  • Inner Unique: true
  • Hash Cond: ((claim_product.claim_id = cpl.claim_id) AND (claim_product.claim_product_id = cpl.claim_product_id))
  • Buffers: shared hit=32061
7. 2.851 54.189 ↑ 5.6 4,282 1

Hash Join (cost=849.43..20,953.78 rows=24,053 width=279) (actual time=16.368..54.189 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, claim_product.claim_id, product.product_name, product.product_number, product_uom_conversions.uom_type_ids, claim.contract_sequence, company.company_name, company.company_number, claim_product_price.price_id
  • Inner Unique: true
  • Hash Cond: (claim_product.product_id = product_uom_conversions.product_id)
  • Buffers: shared hit=14058
8. 1.952 45.802 ↑ 1.1 4,282 1

Nested Loop Left Join (cost=685.19..20,777.17 rows=4,673 width=263) (actual time=10.815..45.802 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, claim_product.claim_id, product.product_name, product.product_number, product.product_id, claim.contract_sequence, company.company_name, company.company_number, claim_product_price.price_id
  • Inner Unique: true
  • Buffers: shared hit=14041
9. 2.911 22.440 ↑ 1.1 4,282 1

Hash Left Join (cost=684.77..7,216.68 rows=4,673 width=247) (actual time=10.786..22.440 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, claim_product.claim_id, product.product_name, product.product_number, product.product_id, claim.contract_sequence, company.company_name, company.company_number
  • Inner Unique: true
  • Hash Cond: (claim_product.distributor_company_id = company.company_id)
  • Buffers: shared hit=1176
10. 2.629 11.332 ↑ 1.1 4,282 1

Hash Join (cost=193.12..6,712.77 rows=4,673 width=216) (actual time=2.547..11.332 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, claim_product.claim_id, product.product_name, product.product_number, product.product_id, claim.contract_sequence
  • Inner Unique: true
  • Hash Cond: (claim_product.product_id = product.product_id)
  • Buffers: shared hit=922
11. 1.362 6.782 ↑ 1.1 4,282 1

Nested Loop (cost=67.49..6,574.85 rows=4,673 width=162) (actual time=0.603..6.782 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, claim_product.claim_id, claim.contract_sequence
  • Buffers: shared hit=853
12. 0.005 0.044 ↑ 1.0 1 1

Nested Loop (cost=0.84..5.38 rows=1 width=20) (actual time=0.041..0.044 rows=1 loops=1)

  • Output: claim.claim_id, claim.contract_sequence
  • Inner Unique: true
  • Buffers: shared hit=8
13. 0.024 0.024 ↑ 1.0 1 1

Index Scan using claim_pkey on client_pinnacle.claim (cost=0.42..3.44 rows=1 width=36) (actual time=0.022..0.024 rows=1 loops=1)

  • Output: claim.claim_id, claim.invoice_id, claim.claim_state, claim.claim_sequence, claim.transaction_type, claim.contract_sequence, claim.claim_tag
  • Index Cond: (claim.claim_id = 'b5ae9090-6883-4599-9412-99ee77c6c594'::uuid)
  • Buffers: shared hit=4
14. 0.015 0.015 ↑ 1.0 1 1

Index Only Scan using invoice_pkey on client_pinnacle.invoice (cost=0.42..1.94 rows=1 width=16) (actual time=0.015..0.015 rows=1 loops=1)

  • Output: invoice.invoice_id
  • Index Cond: (invoice.invoice_id = claim.invoice_id)
  • Heap Fetches: 0
  • Buffers: shared hit=4
15. 4.954 5.376 ↑ 1.1 4,282 1

Bitmap Heap Scan on client_pinnacle.claim_product (cost=66.65..6,522.74 rows=4,673 width=158) (actual time=0.551..5.376 rows=4,282 loops=1)

  • Output: claim_product.claim_product_id, claim_product.product_id, claim_product.distributor_company_id, claim_product.uom_type_id, claim_product.rebate_calculated_rate, claim_product.rebate_requested_quantity, claim_product.rebate_requested_rate, claim_product.rebate_allowed_quantity, claim_product.rebate_allowed_rate, claim_product.resolve_date, claim_product.claimant_contract_name, claim_product.contract_item_id, claim_product.distributor_invoice_number, claim_product.claim_id
  • Recheck Cond: (claim_product.claim_id = 'b5ae9090-6883-4599-9412-99ee77c6c594'::uuid)
  • Heap Blocks: exact=826
  • Buffers: shared hit=845
16. 0.422 0.422 ↑ 1.1 4,282 1

Bitmap Index Scan on claim_product_claim_id_idx (cost=0.00..65.48 rows=4,673 width=0) (actual time=0.422..0.422 rows=4,282 loops=1)

  • Index Cond: (claim_product.claim_id = 'b5ae9090-6883-4599-9412-99ee77c6c594'::uuid)
  • Buffers: shared hit=19
17. 1.048 1.921 ↑ 1.0 2,517 1

Hash (cost=94.17..94.17 rows=2,517 width=54) (actual time=1.921..1.921 rows=2,517 loops=1)

  • Output: product.product_name, product.product_number, product.product_id
  • Buckets: 4096 Batches: 1 Memory Usage: 247kB
  • Buffers: shared hit=69
18. 0.873 0.873 ↑ 1.0 2,517 1

Seq Scan on client_pinnacle.product (cost=0.00..94.17 rows=2,517 width=54) (actual time=0.008..0.873 rows=2,517 loops=1)

  • Output: product.product_name, product.product_number, product.product_id
  • Buffers: shared hit=69
19. 4.549 8.197 ↑ 1.0 10,562 1

Hash (cost=359.62..359.62 rows=10,562 width=47) (actual time=8.197..8.197 rows=10,562 loops=1)

  • Output: company.company_name, company.company_number, company.company_id
  • Buckets: 16384 Batches: 1 Memory Usage: 956kB
  • Buffers: shared hit=254
20. 3.648 3.648 ↑ 1.0 10,562 1

Seq Scan on client_pinnacle.company (cost=0.00..359.62 rows=10,562 width=47) (actual time=0.007..3.648 rows=10,562 loops=1)

  • Output: company.company_name, company.company_number, company.company_id
  • Buffers: shared hit=254
21. 21.410 21.410 ↓ 0.0 0 4,282

Index Scan using claim_product_price_unique on client_pinnacle.claim_product_price (cost=0.43..2.90 rows=1 width=32) (actual time=0.005..0.005 rows=0 loops=4,282)

  • Output: claim_product_price.claim_product_id, claim_product_price.price_id
  • Index Cond: (claim_product.claim_product_id = claim_product_price.claim_product_id)
  • Buffers: shared hit=12865
22. 1.030 5.536 ↑ 1.0 2,517 1

Hash (cost=132.77..132.77 rows=2,517 width=48) (actual time=5.536..5.536 rows=2,517 loops=1)

  • Output: product_uom_conversions.uom_type_ids, product_uom_conversions.product_id
  • Buckets: 4096 Batches: 1 Memory Usage: 241kB
  • Buffers: shared hit=17
23. 0.641 4.506 ↑ 1.0 2,517 1

Subquery Scan on product_uom_conversions (cost=0.28..132.77 rows=2,517 width=48) (actual time=0.035..4.506 rows=2,517 loops=1)

  • Output: product_uom_conversions.uom_type_ids, product_uom_conversions.product_id
  • Buffers: shared hit=17
24. 3.161 3.865 ↑ 1.0 2,517 1

GroupAggregate (cost=0.28..107.60 rows=2,517 width=48) (actual time=0.034..3.865 rows=2,517 loops=1)

  • Output: product_uom_conversion.product_id, array_agg(product_uom_conversion.uom_type_id)
  • Group Key: product_uom_conversion.product_id
  • Buffers: shared hit=17
25. 0.704 0.704 ↑ 1.0 2,518 1

Index Only Scan using product_uom_conversion_pkey on client_pinnacle.product_uom_conversion (cost=0.28..63.55 rows=2,518 width=32) (actual time=0.020..0.704 rows=2,518 loops=1)

  • Output: product_uom_conversion.product_id, product_uom_conversion.uom_type_id
  • Heap Fetches: 0
  • Buffers: shared hit=17
26. 0.001 27.878 ↓ 0.0 0 1

Hash (cost=16,353.80..16,353.80 rows=3,064 width=64) (actual time=27.878..27.878 rows=0 loops=1)

  • Output: cpl.distributor_invoice_number, cpl.claim_product_id, cpl.claim_id
  • Buckets: 4096 Batches: 1 Memory Usage: 32kB
  • Buffers: shared hit=18003
27. 0.002 27.877 ↓ 0.0 0 1

Subquery Scan on cpl (cost=16,254.22..16,353.80 rows=3,064 width=64) (actual time=27.877..27.877 rows=0 loops=1)

  • Output: cpl.distributor_invoice_number, cpl.claim_product_id, cpl.claim_id
  • Buffers: shared hit=18003
28. 0.003 27.875 ↓ 0.0 0 1

GroupAggregate (cost=16,254.22..16,323.16 rows=3,064 width=64) (actual time=27.875..27.875 rows=0 loops=1)

  • Output: claim_product_1.claim_id, claim_product_location.claim_product_id, string_agg(claim_product_location.distributor_invoice_number, ', '::text)
  • Group Key: claim_product_1.claim_id, claim_product_location.claim_product_id
  • Buffers: shared hit=18003
29. 0.012 27.872 ↓ 0.0 0 1

Sort (cost=16,254.22..16,261.88 rows=3,064 width=33) (actual time=27.872..27.872 rows=0 loops=1)

  • Output: claim_product_1.claim_id, claim_product_location.claim_product_id, claim_product_location.distributor_invoice_number
  • Sort Key: claim_product_location.claim_product_id
  • Sort Method: quicksort Memory: 25kB
  • Buffers: shared hit=18003
30. 2.695 27.860 ↓ 0.0 0 1

Nested Loop (cost=67.20..16,076.80 rows=3,064 width=33) (actual time=27.860..27.860 rows=0 loops=1)

  • Output: claim_product_1.claim_id, claim_product_location.claim_product_id, claim_product_location.distributor_invoice_number
  • Buffers: shared hit=18003
31. 3.306 3.755 ↑ 1.1 4,282 1

Bitmap Heap Scan on client_pinnacle.claim_product claim_product_1 (cost=66.65..6,522.74 rows=4,673 width=32) (actual time=0.577..3.755 rows=4,282 loops=1)

  • Output: claim_product_1.claim_id, claim_product_1.claim_product_id
  • Recheck Cond: (claim_product_1.claim_id = 'b5ae9090-6883-4599-9412-99ee77c6c594'::uuid)
  • Heap Blocks: exact=826
  • Buffers: shared hit=845
32. 0.449 0.449 ↑ 1.1 4,282 1

Bitmap Index Scan on claim_product_claim_id_idx (cost=0.00..65.48 rows=4,673 width=0) (actual time=0.449..0.449 rows=4,282 loops=1)

  • Index Cond: (claim_product_1.claim_id = 'b5ae9090-6883-4599-9412-99ee77c6c594'::uuid)
  • Buffers: shared hit=19
33. 21.410 21.410 ↓ 0.0 0 4,282

Index Only Scan using claim_product_location_pkey on client_pinnacle.claim_product_location (cost=0.56..1.99 rows=5 width=17) (actual time=0.005..0.005 rows=0 loops=4,282)

  • Output: claim_product_location.claim_product_id, claim_product_location.location_id, claim_product_location.distributor_invoice_number
  • Index Cond: (claim_product_location.claim_product_id = claim_product_1.claim_product_id)
  • Heap Fetches: 0
  • Buffers: shared hit=17158
34. 0.000 0.000 ↓ 0.0 0

Sort (cost=65,105.11..65,129.95 rows=9,938 width=68) (never executed)

  • Output: ('DEFAULT'::enum.price_tier), price_default.price_id, tuomc.uom_type_id, ((CASE WHEN (pm.math_operation_value IS NULL) THEN price_default.price WHEN (pm.math_operation IS NULL) THEN price_default.price WHEN (pm.math_operation = 'ADD'::enum.math_operation) THEN (price_default.price + pm.math_operation_value) WHEN (pm.math_operation = 'SUBTRACT'::enum.math_operation) THEN (price_default.price - pm.math_operation_value) WHEN (pm.math_operation = 'MULTIPLY'::enum.math_operation) THEN (price_default.price * pm.math_operation_value) ELSE price_default.price END / (tuomc.rate / suomc.rate)))
  • Sort Key: tuomc.uom_type_id, price_default.price_id
35. 0.000 0.000 ↓ 0.0 0

Hash Join (cost=759.01..64,445.29 rows=9,938 width=68) (never executed)

  • Output: ('DEFAULT'::enum.price_tier), price_default.price_id, tuomc.uom_type_id, (CASE WHEN (pm.math_operation_value IS NULL) THEN price_default.price WHEN (pm.math_operation IS NULL) THEN price_default.price WHEN (pm.math_operation = 'ADD'::enum.math_operation) THEN (price_default.price + pm.math_operation_value) WHEN (pm.math_operation = 'SUBTRACT'::enum.math_operation) THEN (price_default.price - pm.math_operation_value) WHEN (pm.math_operation = 'MULTIPLY'::enum.math_operation) THEN (price_default.price * pm.math_operation_value) ELSE price_default.price END / (tuomc.rate / suomc.rate))
  • Hash Cond: (suomc.product_id = pro.product_id)
36. 0.000 0.000 ↓ 0.0 0

Hash Left Join (cost=573.74..63,924.62 rows=9,934 width=76) (never executed)

  • Output: ('DEFAULT'::enum.price_tier), price_default.product_id, price_default.price_id, price_default.price, suomc.product_id, suomc.rate, pm.math_operation_value, pm.math_operation
  • Hash Cond: (price_default.price_id = pm.price_id)
37. 0.000 0.000 ↓ 0.0 0

Hash Join (cost=83.95..63,339.42 rows=9,934 width=65) (never executed)

  • Output: ('DEFAULT'::enum.price_tier), price_default.product_id, price_default.price_id, price_default.price, suomc.product_id, suomc.rate
  • Inner Unique: true
  • Hash Cond: ((price_default.product_id = suomc.product_id) AND (price_default.uom_type_id = suomc.uom_type_id))
38. 0.000 0.000 ↓ 0.0 0

Append (cost=0.00..52,829.29 rows=1,985,929 width=60) (never executed)

39. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.price_default (cost=0.00..94.86 rows=4,086 width=58) (never executed)

  • Output: 'DEFAULT'::enum.price_tier, price_default.product_id, price_default.uom_type_id, price_default.price_id, price_default.price
40. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.price_sale (cost=0.00..52,321.12 rows=1,966,312 width=60) (never executed)

  • Output: 'SALE'::enum.price_tier, price_sale.product_id, price_sale.uom_type_id, price_sale.price_id, price_sale.price
41. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.price_company (cost=0.00..344.50 rows=13,050 width=58) (never executed)

  • Output: 'COMPANY'::enum.price_tier, price_company.product_id, price_company.uom_type_id, price_company.price_id, price_company.price
42. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.price_list (cost=0.00..14.60 rows=460 width=84) (never executed)

  • Output: 'LIST'::enum.price_tier, price_list.product_id, price_list.uom_type_id, price_list.price_id, price_list.price
43. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.price_class (cost=0.00..54.21 rows=2,021 width=58) (never executed)

  • Output: 'CLASS'::enum.price_tier, price_class.product_id, price_class.uom_type_id, price_class.price_id, price_class.price
44. 0.000 0.000 ↓ 0.0 0

Hash (cost=46.18..46.18 rows=2,518 width=37) (never executed)

  • Output: suomc.product_id, suomc.uom_type_id, suomc.rate
45. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.product_uom_conversion suomc (cost=0.00..46.18 rows=2,518 width=37) (never executed)

  • Output: suomc.product_id, suomc.uom_type_id, suomc.rate
46. 0.000 0.000 ↓ 0.0 0

Hash (cost=417.09..417.09 rows=5,816 width=27) (never executed)

  • Output: pm.price_id, pm.math_operation_value, pm.math_operation
47. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.price_modified pm (cost=0.00..417.09 rows=5,816 width=27) (never executed)

  • Output: pm.price_id, pm.math_operation_value, pm.math_operation
  • Filter: upper_inf(pm.active_range)
48. 0.000 0.000 ↓ 0.0 0

Hash (cost=153.80..153.80 rows=2,518 width=53) (never executed)

  • Output: pro.product_id, tuomc.product_id, tuomc.uom_type_id, tuomc.rate
49. 0.000 0.000 ↓ 0.0 0

Hash Join (cost=101.00..153.80 rows=2,518 width=53) (never executed)

  • Output: pro.product_id, tuomc.product_id, tuomc.uom_type_id, tuomc.rate
  • Inner Unique: true
  • Hash Cond: (tuomc.product_id = pro.product_id)
50. 0.000 0.000 ↓ 0.0 0

Seq Scan on client_pinnacle.product_uom_conversion tuomc (cost=0.00..46.18 rows=2,518 width=37) (never executed)

  • Output: tuomc.product_id, tuomc.uom_type_id, tuomc.rate
51. 0.000 0.000 ↓ 0.0 0

Hash (cost=69.53..69.53 rows=2,517 width=16) (never executed)

  • Output: pro.product_id
52. 0.000 0.000 ↓ 0.0 0

Index Only Scan using product_pkey on client_pinnacle.product pro (cost=0.28..69.53 rows=2,517 width=16) (never executed)

  • Output: pro.product_id
  • Heap Fetches: 0
53. 115.911 225.590 ↑ 1.0 381,407 1

Hash (cost=17,324.07..17,324.07 rows=381,407 width=49) (actual time=225.590..225.590 rows=381,407 loops=1)

  • Output: contract_item.contract_id, contract_item.won, contract_item.contract_item_id, contract_item.uom_type_id
  • Buckets: 131072 Batches: 8 Memory Usage: 4822kB
  • Buffers: shared hit=13510, temp written=2807
54. 109.679 109.679 ↑ 1.0 381,407 1

Seq Scan on client_pinnacle.contract_item (cost=0.00..17,324.07 rows=381,407 width=49) (actual time=5.785..109.679 rows=381,407 loops=1)

  • Output: contract_item.contract_id, contract_item.won, contract_item.contract_item_id, contract_item.uom_type_id
  • Buffers: shared hit=13510
55. 0.616 4.017 ↓ 1.0 2,520 1

Hash (cost=266.09..266.09 rows=2,519 width=48) (actual time=4.017..4.017 rows=2,520 loops=1)

  • Output: pro_1.product_id, suomc_1.uom_type_id, tuomc_1.uom_type_id
  • Buckets: 4096 Batches: 1 Memory Usage: 229kB
  • Buffers: shared hit=63
56. 0.875 3.401 ↓ 1.0 2,520 1

Hash Join (cost=185.27..266.09 rows=2,519 width=48) (actual time=2.339..3.401 rows=2,520 loops=1)

  • Output: pro_1.product_id, suomc_1.uom_type_id, tuomc_1.uom_type_id
  • Hash Cond: (tuomc_1.product_id = pro_1.product_id)
  • Buffers: shared hit=63
57. 0.206 0.206 ↑ 1.0 2,518 1

Seq Scan on client_pinnacle.product_uom_conversion tuomc_1 (cost=0.00..46.18 rows=2,518 width=32) (actual time=0.008..0.206 rows=2,518 loops=1)

  • Output: tuomc_1.product_id, tuomc_1.uom_type_id, tuomc_1.rate
  • Buffers: shared hit=21
58. 0.484 2.320 ↑ 1.0 2,518 1

Hash (cost=153.80..153.80 rows=2,518 width=48) (actual time=2.320..2.320 rows=2,518 loops=1)

  • Output: pro_1.product_id, suomc_1.product_id, suomc_1.uom_type_id
  • Buckets: 4096 Batches: 1 Memory Usage: 229kB
  • Buffers: shared hit=42
59. 0.835 1.836 ↑ 1.0 2,518 1

Hash Join (cost=101.00..153.80 rows=2,518 width=48) (actual time=0.794..1.836 rows=2,518 loops=1)

  • Output: pro_1.product_id, suomc_1.product_id, suomc_1.uom_type_id
  • Inner Unique: true
  • Hash Cond: (suomc_1.product_id = pro_1.product_id)
  • Buffers: shared hit=42
60. 0.222 0.222 ↑ 1.0 2,518 1

Seq Scan on client_pinnacle.product_uom_conversion suomc_1 (cost=0.00..46.18 rows=2,518 width=32) (actual time=0.003..0.222 rows=2,518 loops=1)

  • Output: suomc_1.product_id, suomc_1.uom_type_id, suomc_1.rate
  • Buffers: shared hit=21
61. 0.391 0.779 ↑ 1.0 2,517 1

Hash (cost=69.53..69.53 rows=2,517 width=16) (actual time=0.779..0.779 rows=2,517 loops=1)

  • Output: pro_1.product_id
  • Buckets: 4096 Batches: 1 Memory Usage: 150kB
  • Buffers: shared hit=21
62. 0.388 0.388 ↑ 1.0 2,517 1

Index Only Scan using product_pkey on client_pinnacle.product pro_1 (cost=0.28..69.53 rows=2,517 width=16) (actual time=0.019..0.388 rows=2,517 loops=1)

  • Output: pro_1.product_id
  • Heap Fetches: 0
  • Buffers: shared hit=21
63. 1.090 2.546 ↑ 1.0 5,680 1

Hash (cost=287.80..287.80 rows=5,680 width=34) (actual time=2.546..2.546 rows=5,680 loops=1)

  • Output: contract_family.contract_title, contract_family.contract_sequence
  • Buckets: 8192 Batches: 1 Memory Usage: 439kB
  • Buffers: shared hit=231
64. 1.456 1.456 ↑ 1.0 5,680 1

Seq Scan on client_pinnacle.contract_family (cost=0.00..287.80 rows=5,680 width=34) (actual time=0.016..1.456 rows=5,680 loops=1)

  • Output: contract_family.contract_title, contract_family.contract_sequence
  • Buffers: shared hit=231