explain.depesz.com

PostgreSQL's explain analyze made readable

Result: beKi

Settings
# exclusive inclusive rows x rows loops node
1. 20.381 5,099.096 ↑ 1.0 16,037 1

Nested Loop (cost=659.00..1,342.51 rows=16,094 width=1,244) (actual time=5.813..5,099.096 rows=16,037 loops=1)

  • Output: NULL::text, date_trunc('second'::text, endorsement.created), endorsement.type, endorsement.short_term_premium_method, endorsement.effective, endorsement.expiration, endorsement.home_state, endorsement.policy_number, endorsement.policy_effective, endorsement.expiration, endorsement.binder_number, endorsement.placement_reason, endorsement_carrier.name, endorsement_carrier.naic_number, endorsement_agency.name, endorsement_insured.name, endorsement_insured.mailing_address1, endorsement_insured.mailing_address2, endorsement_insured.mailing_city, endorsement_insured.mailing_state, endorsement_insured.mailing_postal_code, endorsement.application_type, endorsement.operations_description
  • Inner Unique: true
  • Buffers: shared hit=2,396,305
2. 9.633 5,044.733 ↓ 16,991.0 16,991 1

Nested Loop (cost=658.71..1,301.85 rows=1 width=720) (actual time=5.798..5,044.733 rows=16,991 loops=1)

  • Output: endorsement_insured.name, endorsement_insured.mailing_address1, endorsement_insured.mailing_address2, endorsement_insured.mailing_city, endorsement_insured.mailing_state, endorsement_insured.mailing_postal_code, endorsement_insured.endorsement_id, endorsement_insured.due_to_endorsement_id, endorsement_carrier.name, endorsement_carrier.naic_number, endorsement_carrier.endorsement_id, endorsement_carrier.due_to_endorsement_id, endorsement_agency.name, endorsement_agency.endorsement_id, endorsement_agency.due_to_endorsement_id
  • Buffers: shared hit=2,345,201
3. 14.238 22.755 ↓ 16,991.0 16,991 1

Hash Join (cost=658.42..1,172.63 rows=1 width=625) (actual time=5.663..22.755 rows=16,991 loops=1)

  • Output: endorsement_carrier.name, endorsement_carrier.naic_number, endorsement_carrier.endorsement_id, endorsement_carrier.due_to_endorsement_id, endorsement_agency.name, endorsement_agency.endorsement_id, endorsement_agency.due_to_endorsement_id
  • Hash Cond: ((endorsement_carrier.endorsement_id = endorsement_agency.endorsement_id) AND (endorsement_carrier.due_to_endorsement_id = endorsement_agency.due_to_endorsement_id))
  • Buffers: shared hit=443
4. 2.895 2.895 ↑ 1.0 16,991 1

Seq Scan on reporting.endorsement_carrier (cost=0.00..385.54 rows=17,154 width=567) (actual time=0.006..2.895 rows=16,991 loops=1)

  • Output: endorsement_carrier.id, endorsement_carrier.endorsement_id, endorsement_carrier.name, endorsement_carrier.naic_number, endorsement_carrier.due_to_endorsement_id
  • Buffers: shared hit=214
5. 3.448 5.622 ↑ 1.0 16,991 1

Hash (cost=400.77..400.77 rows=17,177 width=58) (actual time=5.621..5.622 rows=16,991 loops=1)

  • Output: endorsement_agency.name, endorsement_agency.endorsement_id, endorsement_agency.due_to_endorsement_id
  • Buckets: 32,768 Batches: 1 Memory Usage: 1,752kB
  • Buffers: shared hit=229
6. 2.174 2.174 ↑ 1.0 16,991 1

Seq Scan on reporting.endorsement_agency (cost=0.00..400.77 rows=17,177 width=58) (actual time=0.007..2.174 rows=16,991 loops=1)

  • Output: endorsement_agency.name, endorsement_agency.endorsement_id, endorsement_agency.due_to_endorsement_id
  • Buffers: shared hit=229
7. 5,012.345 5,012.345 ↑ 1.0 1 16,991

Index Scan using endorsement_insured_pkey on reporting.endorsement_insured (cost=0.29..129.21 rows=1 width=95) (actual time=0.149..0.295 rows=1 loops=16,991)

  • Output: endorsement_insured.id, endorsement_insured.endorsement_id, endorsement_insured.first_name, endorsement_insured.name, endorsement_insured.mailing_address1, endorsement_insured.mailing_address2, endorsement_insured.mailing_city, endorsement_insured.mailing_county, endorsement_insured.mailing_state, endorsement_insured.mailing_postal_code, endorsement_insured.mailing_country, endorsement_insured.due_to_endorsement_id
  • Index Cond: (endorsement_insured.endorsement_id = endorsement_carrier.endorsement_id)
  • Filter: (endorsement_carrier.due_to_endorsement_id = endorsement_insured.due_to_endorsement_id)
  • Buffers: shared hit=2,344,758
8. 33.982 33.982 ↑ 1.0 1 16,991

Index Scan using endorsement_pkey on reporting.endorsement (cost=0.29..0.43 rows=1 width=616) (actual time=0.002..0.002 rows=1 loops=16,991)

  • Output: endorsement.id, endorsement.policy_id, endorsement.created, endorsement.posted, endorsement.number, endorsement.type, endorsement.status, endorsement.description, endorsement.effective, endorsement.expiration, endorsement.bind, endorsement.issuance, endorsement.cancellation_code, endorsement.cancellation_description, endorsement.short_term_premium_method, endorsement.policy_effective, endorsement.policy_number, endorsement.home_state, endorsement.binder_number, endorsement.placement_reason, endorsement.application_type, endorsement.admitted, endorsement.operations_description, endorsement.due_to_endorsement_id, endorsement.invalidates_endorsement_id
  • Index Cond: ((endorsement.id = endorsement_insured.endorsement_id) AND (endorsement.due_to_endorsement_id = endorsement_insured.due_to_endorsement_id))
  • Filter: (NOT endorsement.admitted)
  • Rows Removed by Filter: 0
  • Buffers: shared hit=51,104
Planning time : 0.663 ms
Execution time : 5,100.790 ms