explain.depesz.com

PostgreSQL's explain analyze made readable

Result: Gx8

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

Limit (cost=1,114,740.49..1,114,740.50 rows=1 width=8) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Aggregate (cost=1,114,740.49..1,114,740.50 rows=1 width=8) (actual rows= loops=)

3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1,000.89..1,114,710.50 rows=11,997 width=0) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Finalize GroupAggregate (cost=1,000.46..1,055,615.73 rows=12,094 width=4) (actual rows= loops=)

  • Group Key: pos_items.member_id
  • Filter: (sum(pos_items.value) >= '100'::numeric)
5. 0.000 0.000 ↓ 0.0

Gather Merge (cost=1,000.46..1,054,527.24 rows=72,566 width=36) (actual rows= loops=)

  • Workers Planned: 2
6. 0.000 0.000 ↓ 0.0

Partial GroupAggregate (cost=0.44..1,045,151.30 rows=36,283 width=36) (actual rows= loops=)

  • Group Key: pos_items.member_id
7. 0.000 0.000 ↓ 0.0

Parallel Index Scan using pos_items_member_id_index on pos_items (cost=0.44..1,008,310.78 rows=7,277,397 width=10) (actual rows= loops=)

  • Index Cond: (member_id IS NOT NULL)
  • Filter: (community_id = 4)
8. 0.000 0.000 ↓ 0.0

Index Scan using profiles_member_id_index on profiles (cost=0.42..4.88 rows=1 width=4) (actual rows= loops=)

  • Index Cond: (member_id = pos_items.member_id)
  • Filter: (community_id = 4)