explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Yinh

Settings
# exclusive inclusive rows x rows loops node
1. 1,057.423 10,435.332 ↑ 3,236.7 88 1

GroupAggregate (cost=452,831.30..459,952.07 rows=284,831 width=581) (actual time=7,946.910..10,435.332 rows=88 loops=1)

  • Group Key: t.name, t.category, t.level, e.name
2. 5,468.165 9,377.909 ↓ 9.0 2,556,835 1

Sort (cost=452,831.30..453,543.37 rows=284,831 width=563) (actual time=7,946.770..9,377.909 rows=2,556,835 loops=1)

  • Sort Key: t.name, t.category, t.level, e.name
  • Sort Method: external merge Disk: 168,472kB
3. 810.397 3,909.744 ↓ 9.0 2,556,835 1

Hash Join (cost=532.83..282,937.97 rows=284,831 width=563) (actual time=1.340..3,909.744 rows=2,556,835 loops=1)

  • Hash Cond: (t.level = e.level)
4. 731.595 3,099.339 ↓ 9.0 2,556,835 1

Nested Loop (cost=519.68..279,008.39 rows=284,831 width=47) (actual time=1.327..3,099.339 rows=2,556,835 loops=1)

5. 133.530 500.074 ↓ 5.1 933,835 1

Nested Loop (cost=519.25..142,035.09 rows=184,838 width=4) (actual time=1.313..500.074 rows=933,835 loops=1)

6. 18.480 126.406 ↓ 4.7 26,682 1

Bitmap Heap Scan on plivo_billing_tax b1 (cost=518.82..98,736.22 rows=5,650 width=4) (actual time=1.306..126.406 rows=26,682 loops=1)

  • Recheck Cond: ((start_date = '2020-07-01 00:00:00'::timestamp without time zone) AND (end_date = '2020-08-01 00:00:00'::timestamp without time zone))
  • Filter: ((NOT is_committed) AND (NOT is_internal) AND (SubPlan 1))
  • Rows Removed by Filter: 3
  • Heap Blocks: exact=1,075
7. 1.186 1.186 ↓ 2.4 26,685 1

Bitmap Index Scan on plivo_billing_tax_start_date_end_date_idx (cost=0.00..517.40 rows=11,299 width=0) (actual time=1.186..1.186 rows=26,685 loops=1)

  • Index Cond: ((start_date = '2020-07-01 00:00:00'::timestamp without time zone) AND (end_date = '2020-08-01 00:00:00'::timestamp without time zone))
8.          

SubPlan (for Bitmap Heap Scan)

9. 0.000 106.740 ↑ 1.0 1 26,685

Limit (cost=8.45..8.45 rows=1 width=4) (actual time=0.004..0.004 rows=1 loops=26,685)

10. 26.685 106.740 ↑ 1.0 1 26,685

Sort (cost=8.45..8.45 rows=1 width=4) (actual time=0.004..0.004 rows=1 loops=26,685)

  • Sort Key: b2.id DESC
  • Sort Method: quicksort Memory: 25kB
11. 80.055 80.055 ↑ 1.0 1 26,685

Index Scan using plivo_billing_tax_account_id_start_date_end_date_idx on plivo_billing_tax b2 (cost=0.41..8.44 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=26,685)

  • Index Cond: ((b1.account_id = account_id) AND (start_date = '2020-07-01 00:00:00'::timestamp without time zone) AND (end_date = '2020-08-01 00:00:00'::timestamp without time zone))
12. 240.138 240.138 ↓ 1.1 35 26,682

Index Scan using plivo_billing_tax_item_billing_tax_id_idx on plivo_billing_tax_item i (cost=0.43..7.33 rows=33 width=8) (actual time=0.003..0.009 rows=35 loops=26,682)

  • Index Cond: (billing_tax_id = b1.id)
13. 1,867.670 1,867.670 ↑ 1.3 3 933,835

Index Scan using plivo_billing_tax_item_detail_billing_tax_item_id_idx on plivo_billing_tax_item_detail t (cost=0.43..0.70 rows=4 width=51) (actual time=0.001..0.002 rows=3 loops=933,835)

  • Index Cond: (billing_tax_item_id = i.id)
  • Filter: (((category)::text <> 'RESERVED'::text) AND ((name)::text <> 'Carrier Cost Recovery (VoIP)'::text))
  • Rows Removed by Filter: 0
14. 0.003 0.008 ↑ 35.0 4 1

Hash (cost=11.40..11.40 rows=140 width=520) (actual time=0.008..0.008 rows=4 loops=1)

  • Buckets: 1,024 Batches: 1 Memory Usage: 9kB
15. 0.005 0.005 ↑ 35.0 4 1

Seq Scan on plivo_avalara_scope_exemption e (cost=0.00..11.40 rows=140 width=520) (actual time=0.004..0.005 rows=4 loops=1)