explain.depesz.com

PostgreSQL's explain analyze made readable

Result: DyFX

Settings
# exclusive inclusive rows x rows loops node
1. 59,208.968 201,522.126 ↓ 19,614.2 1,039,554 1

Bitmap Heap Scan on shipmentmaster sm (cost=2,088,657.73..8,551,733.87 rows=53 width=104) (actual time=142,406.286..201,522.126 rows=1,039,554 loops=1)

  • 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[])))
  • Rows Removed by Index Recheck: 18,273,853
  • 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[])))))
  • Rows Removed by Filter: 2,609,698
  • Heap Blocks: exact=194,123 lossy=2,596,299
2. 0.004 142,313.158 ↓ 0.0 0 1

BitmapOr (cost=2,088,657.73..2,088,657.73 rows=4,150,652 width=0) (actual time=142,313.158..142,313.158 rows=0 loops=1)

3. 130,600.708 130,600.708 ↑ 3.4 147,325 1

Bitmap Index Scan on shipmentmaster_lastmodifieddate (cost=0.00..1,837,713.31 rows=500,210 width=0) (actual time=130,600.708..130,600.708 rows=147,325 loops=1)

  • Index Cond: (((status)::text = 'Delivered'::text) AND (lastmodifieddate >= ('now'::cstring)::date) AND (lastmodifieddate < (('now'::cstring)::date + '1 day'::interval)))
4. 11,712.446 11,712.446 ↓ 2.8 10,178,139 1

Bitmap Index Scan on shipmentmaster_status_lostdate (cost=0.00..250,944.39 rows=3,650,441 width=0) (actual time=11,712.446..11,712.446 rows=10,178,139 loops=1)

  • Index Cond: ((status)::text = ANY ('{Shipped,ReadyToShip,shipped}'::text[]))
Planning time : 2.027 ms
Execution time : 201,881.889 ms