explain.depesz.com

PostgreSQL's explain analyze made readable

Result: k9Kk

Settings
# exclusive inclusive rows x rows loops node
1. 12.636 13.087 ↓ 2.0 2 1

GroupAggregate (cost=8.19..8.61 rows=1 width=65) (actual time=9.662..13.087 rows=2 loops=1)

  • Group Key: c.member_guid, c.other_member_guid
2. 0.008 0.451 ↓ 2.0 2 1

Sort (cost=8.19..8.20 rows=1 width=64) (actual time=0.451..0.451 rows=2 loops=1)

  • Sort Key: c.member_guid, c.other_member_guid
  • Sort Method: quicksort Memory: 25kB
3. 0.002 0.443 ↓ 2.0 2 1

Nested Loop Left Join (cost=2.66..8.19 rows=1 width=64) (actual time=0.346..0.443 rows=2 loops=1)

4. 0.007 0.351 ↓ 2.0 2 1

Nested Loop Left Join (cost=2.55..5.87 rows=1 width=56) (actual time=0.300..0.351 rows=2 loops=1)

5. 0.091 0.246 ↓ 2.0 2 1

Bitmap Heap Scan on conversations c (cost=2.43..3.54 rows=1 width=40) (actual time=0.245..0.246 rows=2 loops=1)

  • Recheck Cond: (((member_guid = '3d8755d4-f94a-e744-e10c-6068a00b87a4'::uuid) AND (other_member_guid = 'b19c8b2c-2164-03c8-11d3-ba2a8fc8d8ed'::uuid)) OR ((member_guid = 'b19c8b2c-2164-03c8-11d3-ba2a8fc8d8ed'::uuid) AND (other_member_guid = '3d8755d4-f94a-e744-e10c-6068a00b87a4'::uuid)))
  • Heap Blocks: exact=1
6. 0.001 0.155 ↓ 0.0 0 1

BitmapOr (cost=2.43..2.43 rows=1 width=0) (actual time=0.155..0.155 rows=0 loops=1)

7. 0.099 0.099 ↑ 1.0 1 1

Bitmap Index Scan on conversations_pk (cost=0.00..1.22 rows=1 width=0) (actual time=0.099..0.099 rows=1 loops=1)

  • Index Cond: ((member_guid = '3d8755d4-f94a-e744-e10c-6068a00b87a4'::uuid) AND (other_member_guid = 'b19c8b2c-2164-03c8-11d3-ba2a8fc8d8ed'::uuid))
8. 0.055 0.055 ↑ 1.0 1 1

Bitmap Index Scan on conversations_pk (cost=0.00..1.22 rows=1 width=0) (actual time=0.055..0.055 rows=1 loops=1)

  • Index Cond: ((member_guid = 'b19c8b2c-2164-03c8-11d3-ba2a8fc8d8ed'::uuid) AND (other_member_guid = '3d8755d4-f94a-e744-e10c-6068a00b87a4'::uuid))
9. 0.098 0.098 ↑ 1.0 1 2

Index Scan using member_profiles_pk on member_profiles mp (cost=0.11..2.32 rows=1 width=32) (actual time=0.049..0.049 rows=1 loops=2)

  • Index Cond: (member_guid = c.other_member_guid)
10. 0.090 0.090 ↓ 0.0 0 2

Index Scan using member_blocked_pk on member_blocked mb (cost=0.11..2.32 rows=1 width=40) (actual time=0.045..0.045 rows=0 loops=2)

  • Index Cond: ((c.member_guid = member_guid) AND (c.other_member_guid = other_member_guid))