explain.depesz.com

PostgreSQL's explain analyze made readable

Result: qhNJ

Settings
# exclusive inclusive rows x rows loops node
1. 13.032 47.053 ↑ 1.0 16,037 1

Nested Loop (cost=761.61..1,316.33 rows=16,146 width=1,218) (actual time=7.859..47.053 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_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=51,650
2. 7.636 17.030 ↓ 16,991.0 16,991 1

Hash Join (cost=761.33..1,275.53 rows=1 width=662) (actual time=7.839..17.030 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
  • Hash Cond: ((endorsement_carrier.endorsement_id = endorsement_insured.endorsement_id) AND (endorsement_carrier.due_to_endorsement_id = endorsement_insured.due_to_endorsement_id))
  • Buffers: shared hit=546
3. 1.626 1.626 ↑ 1.0 16,991 1

Seq Scan on reporting.endorsement_carrier (cost=0.00..385.54 rows=17,154 width=567) (actual time=0.008..1.626 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
4. 4.683 7.768 ↑ 1.0 16,991 1

Hash (cost=503.73..503.73 rows=17,173 width=95) (actual time=7.768..7.768 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
  • Buckets: 32,768 Batches: 1 Memory Usage: 2,322kB
  • Buffers: shared hit=332
5. 3.085 3.085 ↑ 1.0 16,991 1

Seq Scan on reporting.endorsement_insured (cost=0.00..503.73 rows=17,173 width=95) (actual time=0.007..3.085 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
  • Buffers: shared hit=332
6. 16.991 16.991 ↑ 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.001..0.001 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.402 ms
Execution time : 47.795 ms