explain.depesz.com

PostgreSQL's explain analyze made readable

Result: JoZX

Settings
# exclusive inclusive rows x rows loops node
1. 0.174 318.988 ↓ 0.0 0 1

Insert on conversations (cost=2,067.80..2,071.12 rows=1 width=87) (actual time=318.988..318.988 rows=0 loops=1)

  • Conflict Resolution: UPDATE
  • Conflict Arbiter Indexes: conversations_pk
  • Tuples Inserted: 0
  • Conflicting Tuples: 2
2. 0.010 318.814 ↓ 2.0 2 1

Subquery Scan on proj (cost=2,067.80..2,071.12 rows=1 width=87) (actual time=314.232..318.814 rows=2 loops=1)

3. 9.991 318.804 ↓ 2.0 2 1

GroupAggregate (cost=2,067.80..2,071.11 rows=1 width=65) (actual time=314.224..318.804 rows=2 loops=1)

  • Group Key: c.member_guid, c.other_member_guid
4. 6.495 308.813 ↓ 8.9 5,956 1

Sort (cost=2,067.80..2,068.13 rows=668 width=82) (actual time=308.417..308.813 rows=5,956 loops=1)

  • Sort Key: c.member_guid, c.other_member_guid
  • Sort Method: quicksort Memory: 1030kB
5. 9.510 302.318 ↓ 8.9 5,956 1

Nested Loop Left Join (cost=2.91..2,061.53 rows=668 width=82) (actual time=0.296..302.318 rows=5,956 loops=1)

6. 2.292 84.348 ↓ 8.9 5,956 1

Nested Loop Left Join (cost=2.80..1,968.17 rows=668 width=97) (actual time=0.238..84.348 rows=5,956 loops=1)

7. 0.007 0.272 ↓ 2.0 2 1

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

8. 0.011 0.205 ↓ 2.0 2 1

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

9. 0.021 0.124 ↓ 2.0 2 1

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

  • Recheck Cond: (((member_guid = 'ccc900e0-e998-e2de-8bc8-a4f74a0fe8b3'::uuid) AND (other_member_guid = 'a8ac89f7-012c-b58a-84e0-227ca245c778'::uuid)) OR ((member_guid = 'a8ac89f7-012c-b58a-84e0-227ca245c778'::uuid) AND (other_member_guid = 'ccc900e0-e998-e2de-8bc8-a4f74a0fe8b3'::uuid)))
  • Heap Blocks: exact=1
10. 0.002 0.103 ↓ 0.0 0 1

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

11. 0.062 0.062 ↑ 1.0 1 1

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

  • Index Cond: ((member_guid = 'ccc900e0-e998-e2de-8bc8-a4f74a0fe8b3'::uuid) AND (other_member_guid = 'a8ac89f7-012c-b58a-84e0-227ca245c778'::uuid))
12. 0.039 0.039 ↑ 1.0 1 1

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

  • Index Cond: ((member_guid = 'a8ac89f7-012c-b58a-84e0-227ca245c778'::uuid) AND (other_member_guid = 'ccc900e0-e998-e2de-8bc8-a4f74a0fe8b3'::uuid))
13. 0.070 0.070 ↑ 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.035..0.035 rows=1 loops=2)

  • Index Cond: (member_guid = c.other_member_guid)
14. 0.060 0.060 ↓ 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.030..0.030 rows=0 loops=2)

  • Index Cond: ((c.member_guid = member_guid) AND (c.other_member_guid = other_member_guid))
15. 81.784 81.784 ↓ 1.7 2,978 2

Index Scan using messages_member_legacy_message_id_uc on messages m (cost=0.14..1,942.66 rows=1,732 width=49) (actual time=0.059..40.892 rows=2,978 loops=2)

  • Index Cond: (c.member_guid = member_guid)
16. 208.460 208.460 ↑ 1.0 1 5,956

Index Scan using messages_content_pk on messages_content mc (cost=0.11..0.14 rows=1 width=17) (actual time=0.035..0.035 rows=1 loops=5,956)

  • Index Cond: (message_guid = m.message_guid)