explain.depesz.com

PostgreSQL's explain analyze made readable

Result: kiDX

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

Aggregate (cost=8,474,258.83..8,474,258.84 rows=1 width=0) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=2,084,061.19..8,474,258.70 rows=50 width=0) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on shipmentmaster sm (cost=2,084,060.63..8,473,828.95 rows=50 width=14) (actual rows= loops=)

  • Recheck Cond: ((((status)::text = 'Delivered'::text) AND (lastmodifieddate >= ('now'::cstring)::date) AND (lastmodifieddate < (('now'::cstring)::date + '1 day'::interval)) AND ((COALESCE(notificationtype, ''::character varying))::text <> 'RTO'::text) AND (NOT COALESCE(isreversepick, false)) AND (NOT COALESCE(isrecnotified, false)) AND (parentmps IS NULL)) OR ((status)::text = ANY ('{Shipped,ReadyToShip,shipped}'::text[])))
  • Filter: ((NOT COALESCE(isreversepick, false)) AND (NOT COALESCE(isrecnotified, false)) AND (parentmps IS NULL) AND ((COALESCE(notificationtype, ''::character varying))::text <> 'RTO'::text) AND (currenthubid = finaldestinationid) AND ((COALESCE(notificationstatus, ''::character varying))::text = ANY ('{"",ReAttempt,Reattempt}'::text[])) AND (createddate > (('now'::cstring)::date - '50 days'::interval)) AND (lastmodifieddate < (('now'::cstring)::date + '1 day'::interval)) AND (((lastmodifieddate >= ('now'::cstring)::date) AND ((status)::text = 'Delivered'::text)) OR (((status)::text = ANY ('{Shipped,ReadyToShip,shipped}'::text[])) AND ((shipmentstatus)::text <> ALL ('{Investigate,HVTExp}'::text[])))))
4. 0.000 0.000 ↓ 0.0

BitmapOr (cost=2,084,060.63..2,084,060.63 rows=4,032,338 width=0) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on shipmentmaster_lastmodifieddate (cost=0.00..1,837,285.30 rows=444,973 width=0) (actual rows= loops=)

  • Index Cond: (((status)::text = 'Delivered'::text) AND (lastmodifieddate >= ('now'::cstring)::date) AND (lastmodifieddate < (('now'::cstring)::date + '1 day'::interval)))
6. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on shipmentmaster_status_lostdate (cost=0.00..246,775.30 rows=3,587,365 width=0) (actual rows= loops=)

  • Index Cond: ((status)::text = ANY ('{Shipped,ReadyToShip,shipped}'::text[]))
7. 0.000 0.000 ↓ 0.0

Index Scan using deliveryboyrunsheet_idx on deliveryboyrunsheet drs (cost=0.56..8.58 rows=1 width=14) (actual rows= loops=)

  • Index Cond: ((shippingid)::text = (sm.shippingid)::text)
  • Filter: ((status)::text <> '1001'::text)