explain.depesz.com

PostgreSQL's explain analyze made readable

Result: AIp6

Settings
# exclusive inclusive rows x rows loops node
1. 710.356 22,672.579 ↓ 157.7 957,043 1

Gather (cost=1,033.29..23,623.46 rows=6,068 width=90) (actual time=111.817..22,672.579 rows=957,043 loops=1)

  • Workers Planned: 1
  • Workers Launched: 1
2. 130.611 21,962.223 ↓ 134.1 478,522 2 / 2

Nested Loop (cost=33.29..22,016.66 rows=3,569 width=90) (actual time=100.685..21,962.223 rows=478,522 loops=2)

3. 474.041 9,390.053 ↓ 134.1 478,522 2 / 2

Nested Loop (cost=33.21..21,397.22 rows=3,569 width=82) (actual time=99.299..9,390.053 rows=478,522 loops=2)

4. 234.236 280.647 ↓ 169.9 479,742 2 / 2

Parallel Bitmap Heap Scan on trackers (cost=33.12..7,366.00 rows=2,823 width=66) (actual time=98.100..280.647 rows=479,742 loops=2)

  • Recheck Cond: (deleted_at IS NULL)
  • Heap Blocks: exact=16792
5. 46.410 46.410 ↓ 205.0 983,908 1 / 2

Bitmap Index Scan on trackers_deleted_at_is_null_idx (cost=0.00..32.88 rows=4,799 width=0) (actual time=92.821..92.821 rows=983,908 loops=1)

6. 8,635.365 8,635.365 ↑ 2.0 1 959,485 / 2

Index Scan using shopify_fulfillments_tracking_number_index on shopify_fulfillments (cost=0.09..4.96 rows=2 width=32) (actual time=0.015..0.018 rows=1 loops=959,485)

  • Index Cond: ((tracking_number)::text = (trackers.tracking_code)::text)
  • Filter: (id IS NOT NULL)
7. 12,441.559 12,441.559 ↑ 1.0 1 957,043 / 2

Index Scan using shopify_orders_pkey on shopify_orders (cost=0.09..0.17 rows=1 width=20) (actual time=0.026..0.026 rows=1 loops=957,043)

  • Index Cond: ((id = shopify_fulfillments.order_id) AND (id IS NOT NULL))
Planning time : 1.837 ms
Execution time : 22,721.493 ms