explain.depesz.com

PostgreSQL's explain analyze made readable

Result: UVvq

Settings
# exclusive inclusive rows x rows loops node
1. 52.138 52.399 ↓ 2.0 2 1

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

  • Group Key: c.member_guid, c.other_member_guid
2. 0.013 0.261 ↓ 2.0 2 1

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

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

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

4. 0.006 0.162 ↓ 2.0 2 1

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

5. 0.008 0.036 ↓ 2.0 2 1

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

  • Recheck Cond: (((member_guid = 'ef5c734f-05ef-f37c-cbe5-0a06164f766c'::uuid) AND (other_member_guid = '2b4a46e1-b449-bfba-fb3e-8d4a47cc14b0'::uuid)) OR ((member_guid = '2b4a46e1-b449-bfba-fb3e-8d4a47cc14b0'::uuid) AND (other_member_guid = 'ef5c734f-05ef-f37c-cbe5-0a06164f766c'::uuid)))
  • Heap Blocks: exact=2
6. 0.001 0.028 ↓ 0.0 0 1

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

7. 0.013 0.013 ↑ 1.0 1 1

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

  • Index Cond: ((member_guid = 'ef5c734f-05ef-f37c-cbe5-0a06164f766c'::uuid) AND (other_member_guid = '2b4a46e1-b449-bfba-fb3e-8d4a47cc14b0'::uuid))
8. 0.014 0.014 ↑ 1.0 1 1

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

  • Index Cond: ((member_guid = '2b4a46e1-b449-bfba-fb3e-8d4a47cc14b0'::uuid) AND (other_member_guid = 'ef5c734f-05ef-f37c-cbe5-0a06164f766c'::uuid))
9. 0.120 0.120 ↑ 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.060..0.060 rows=1 loops=2)

  • Index Cond: (member_guid = c.other_member_guid)
10. 0.082 0.082 ↓ 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.041..0.041 rows=0 loops=2)

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