explain.depesz.com

PostgreSQL's explain analyze made readable

Result: OrHX : dd

Settings
# exclusive inclusive rows x rows loops node
1. 0.004 9,588.608 ↓ 3.0 3 1

Limit (cost=299,013.81..299,014.27 rows=1 width=6,165) (actual time=9,588.544..9,588.608 rows=3 loops=1)

  • Buffers: shared hit=46 read=227611
2. 0.064 9,588.604 ↓ 3.0 3 1

Unique (cost=299,013.81..299,014.27 rows=1 width=6,165) (actual time=9,588.541..9,588.604 rows=3 loops=1)

  • Buffers: shared hit=46 read=227611
3. 0.155 9,588.540 ↓ 3.0 3 1

Sort (cost=299,013.81..299,013.82 rows=1 width=6,165) (actual time=9,588.540..9,588.540 rows=3 loops=1)

  • Sort Key: notificati0_.id, optiondefi1_.id, delivery2_.id, company3_.id, xdock4_.id, receiverad5_.id, receiver6_.id, notificati0_.created_by, notificati0_.created_on, notificati0_.row_status, notificati0_.row_version, notificati0_.tenant_id, notificati0_.updated_by, notificati0_.updated_on, notificati0_.delivery_id, notificati0_.delivery_params, notificati0_.par_delivery_status, notificati0_.par_non_delivery_reason, notificati0_.par_transaction_type, optiondefi1_.created_by, optiondefi1_.created_on, optiondefi1_.row_status, optiondefi1_.row_version, optiondefi1_.tenant_id, optiondefi1_.updated_by, optiondefi1_.updated_on, optiondefi1_.option_key, optiondefi1_.message_key, optiondefi1_.option_order, optiondefi1_.option_type, delivery2_.created_by, delivery2_.created_on, delivery2_.row_status, delivery2_.row_version, delivery2_.tenant_id, delivery2_.updated_by, delivery2_.updated_on, delivery2_.accept_date, delivery2_.application_no, delivery2_.assigned_user_id, delivery2_.barcode, delivery2_.chute_no, delivery2_.chute_time, delivery2_.collected, delivery2_.current_user_id, delivery2_.current_vehicle_id, delivery2_.current_xdock_id, delivery2_.custody_time, delivery2_.customer_id, delivery2_.customer_delivery_no, delivery2_.customer_invoice_id, delivery2_.customer_order_id, delivery2_.delivered_person_id_no, delivery2_.delivered_date, delivery2_.delivered_person, delivery2_.delivered_person_gsm, delivery2_.par_delivered_person_type, delivery2_.delivery_attempt, delivery2_.delivery_date_current, delivery2_.delivery_date_original, delivery2_.delivery_date_promised, delivery2_.delivery_end_time, delivery2_.delivery_slot_current, delivery2_.delivery_slot_original, delivery2_.delivery_slot_promised, delivery2_.delivery_start_time, delivery2_.par_delivery_status, delivery2_.par_delivery_type, delivery2_.desi, delivery2_.dispatch_xdock_id, delivery2_.distribution_zone_id, delivery2_.first_process_date, delivery2_.first_visit_date, delivery2_.first_visit_time, delivery2_.first_visit_slot, delivery2_.height, delivery2_.par_integration_status, delivery2_.invoice_amount, delivery2_.invoice_btk, delivery2_.par_invoice_status, delivery2_.invoice_vat, delivery2_.kg, delivery2_.latest_courier_user_id, delivery2_.length, delivery2_.merchant_id, delivery2_.non_delivery_date, delivery2_.par_non_delivery_reason, delivery2_.non_return_date, delivery2_.par_non_return_reason, delivery2_.non_signature_date, delivery2_.par_non_signature_reason, delivery2_.par_operation_status, delivery2_.parcel_no, delivery2_.payout_amount, delivery2_.par_payout_status, delivery2_.postponed, delivery2_.product_id, delivery2_.product_slots_id, delivery2_.receiver_id, delivery2_.receiver_address_id, delivery2_.receiver_xdock_id, delivery2_.recipient_address_id, delivery2_.return_date, delivery2_.return_flag, delivery2_.return_person, delivery2_.return_person_gsm, delivery2_.return_person_id_no, delivery2_.par_return_person_type, delivery2_.sender_address_id, delivery2_.sender_xdock_id, delivery2_.signature_date, delivery2_.signature_person_id_no, delivery2_.total_parcels, delivery2_.width, delivery2_.xdock_responsible_id, company3_.created_by, company3_.created_on, company3_.row_status, company3_.row_version, company3_.tenant_id, company3_.updated_by, company3_.updated_on, company3_.abbreviation_code, company3_.company_company_id, company3_.company_extension_id, company3_.company_logo, company3_.par_company_type, company3_.corporate_name, company3_.failed_attempt, company3_.company_name, company3_.title, xdock4_.created_by, xdock4_.created_on, xdock4_.row_status, xdock4_.row_version, xdock4_.tenant_id, xdock4_.updated_by, xdock4_.updated_on, xdock4_.abbreviation_code, xdock4_.address, xdock4_.address_code, xdock4_.company_id, xdock4_.distribution_xdock_id, xdock4_.district_id, xdock4_.xdock_name, xdock4_.return_xdock_id, xdock4_.par_xdock_type, receiverad5_.created_by, receiverad5_.created_on, receiverad5_.row_status, receiverad5_.row_version, receiverad5_.tenant_id, receiverad5_.updated_by, receiverad5_.updated_on, receiverad5_.address_id, receiverad5_.citizenship_no, receiverad5_.recipient_person, receiverad5_.recipient_person_gsm1, receiverad5_.recipient_person_gsm2, receiverad5_.email, receiverad5_.gender, receiverad5_.address_name, receiverad5_.nationality, receiverad5_.occupation, receiverad5_.passport_no, receiverad5_.receiver_id, receiverad5_.title, receiver6_.created_by, receiver6_.created_on, receiver6_.row_status, receiver6_.row_version, receiver6_.tenant_id, receiver6_.updated_by, receiver6_.updated_on, receiver6_.company_customer_id, receiver6_.email, receiver6_.first_name, receiver6_.gsm1, receiver6_.gsm2, receiver6_.id_no, receiver6_.last_name
  • Sort Method: quicksort Memory: 31kB
  • Buffers: shared hit=46 read=227611
4. 0.026 9,588.385 ↓ 3.0 3 1

Nested Loop Left Join (cost=1,001.30..299,013.80 rows=1 width=6,165) (actual time=9,535.397..9,588.385 rows=3 loops=1)

  • Buffers: shared hit=41 read=227611
5. 0.020 9,553.592 ↓ 3.0 3 1

Nested Loop Left Join (cost=1,000.87..299,011.81 rows=1 width=6,002) (actual time=9,527.560..9,553.592 rows=3 loops=1)

  • Buffers: shared hit=35 read=227605
6. 0.058 9,516.201 ↓ 3.0 3 1

Nested Loop Left Join (cost=1,000.43..299,009.79 rows=1 width=3,278) (actual time=9,513.139..9,516.201 rows=3 loops=1)

  • Join Filter: (delivery2_.receiver_xdock_id = xdock4_.id)
  • Rows Removed by Join Filter: 143
  • Buffers: shared hit=29 read=227599
7. 0.028 9,516.113 ↓ 3.0 3 1

Nested Loop Left Join (cost=1,000.43..299,000.81 rows=1 width=3,062) (actual time=9,513.127..9,516.113 rows=3 loops=1)

  • Join Filter: (delivery2_.customer_id = company3_.id)
  • Rows Removed by Join Filter: 69
  • Buffers: shared hit=23 read=227599
8. 0.020 9,516.070 ↓ 3.0 3 1

Nested Loop Left Join (cost=1,000.43..298,975.31 rows=1 width=2,391) (actual time=9,513.106..9,516.070 rows=3 loops=1)

  • Buffers: shared hit=20 read=227599
9. 0.000 9,511.070 ↓ 3.0 3 1

Nested Loop Left Join (cost=1,000.00..298,966.86 rows=1 width=233) (actual time=9,510.948..9,511.070 rows=3 loops=1)

  • Join Filter: (notificati0_.par_non_delivery_reason = optiondefi1_.id)
  • Rows Removed by Join Filter: 516
  • Buffers: shared hit=14 read=227593
10. 3.831 9,511.027 ↓ 3.0 3 1

Gather (cost=1,000.00..298,957.71 rows=1 width=127) (actual time=9,510.869..9,511.027 rows=3 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
  • Buffers: shared hit=2 read=227593
11. 9,507.196 9,507.196 ↑ 1.0 1 3

Parallel Seq Scan on notification_queue notificati0_ (cost=0.00..297,957.61 rows=1 width=127) (actual time=9,507.194..9,507.196 rows=1 loops=3)

  • Filter: (((row_status)::text <> 'DELETED'::text) AND ((par_notification_queue_type)::text = 'NEO'::text))
  • Rows Removed by Filter: 3751614
  • Buffers: shared hit=2 read=227593
12. 0.123 0.123 ↑ 1.3 172 3

Seq Scan on option_definition optiondefi1_ (cost=0.00..6.29 rows=229 width=106) (actual time=0.007..0.041 rows=172 loops=3)

  • Buffers: shared hit=12
13. 4.980 4.980 ↑ 1.0 1 3

Index Scan using delivery_pkey on delivery delivery2_ (cost=0.43..8.45 rows=1 width=2,158) (actual time=1.660..1.660 rows=1 loops=3)

  • Index Cond: (notificati0_.delivery_id = id)
  • Buffers: shared hit=6 read=6
14. 0.015 0.015 ↑ 25.0 24 3

Seq Scan on company company3_ (cost=0.00..18.00 rows=600 width=671) (actual time=0.003..0.005 rows=24 loops=3)

  • Buffers: shared hit=3
15. 0.030 0.030 ↑ 3.6 49 3

Seq Scan on xdock xdock4_ (cost=0.00..6.77 rows=177 width=216) (actual time=0.002..0.010 rows=49 loops=3)

  • Buffers: shared hit=6
16. 37.371 37.371 ↑ 1.0 1 3

Index Scan using receiver_address_pkey on receiver_address receiverad5_ (cost=0.43..2.02 rows=1 width=2,724) (actual time=12.457..12.457 rows=1 loops=3)

  • Index Cond: (delivery2_.recipient_address_id = id)
  • Buffers: shared hit=6 read=6
17. 34.767 34.767 ↑ 1.0 1 3

Index Scan using receiver_pkey on receiver receiver6_ (cost=0.43..1.99 rows=1 width=163) (actual time=11.589..11.589 rows=1 loops=3)

  • Index Cond: (delivery2_.receiver_id = id)
  • Buffers: shared hit=6 read=6
Planning time : 89.916 ms
Execution time : 9,589.221 ms