explain.depesz.com

PostgreSQL's explain analyze made readable

Result: mPMX

Settings
# exclusive inclusive rows x rows loops node
1. 1.483 7.988 ↑ 5.2 72 1

GroupAggregate (cost=2,175.90..2,211.43 rows=374 width=610) (actual time=6.527..7.988 rows=72 loops=1)

  • Group Key: clip.created_at, clip.id, clip.account_id, clip.workspace_id, clip.width, clip.height, clip.size, clip.ext, clip.type, clip.duration, clip.rotation, clip.audio, clip.remote, clip.status, clip.recorded_at, clip.updated_at, clip.digitized, clip.hash, clip.synced, clip.description, clip.source, clip.imported_name, clip_media.playback, clip_media.preview, clip_media.seek, clip_media.image, account.first_name, account.last_name, clip_bookmark.clip_id
2. 1.641 6.505 ↑ 1.0 371 1

Sort (cost=2,175.90..2,176.83 rows=374 width=585) (actual time=6.466..6.505 rows=371 loops=1)

  • Sort Key: clip.created_at DESC, clip.id DESC, clip.account_id, clip.workspace_id, clip.width, clip.height, clip.size, clip.ext, clip.type, clip.duration, clip.rotation, clip.audio, clip.remote, clip.status, clip.recorded_at, clip.updated_at, clip.digitized, clip.hash, clip.synced, clip.description, clip.source, clip.imported_name, clip_media.playback, clip_media.preview, clip_media.seek, clip_media.image, account.first_name, account.last_name, clip_bookmark.clip_id
  • Sort Method: quicksort Memory: 216kB
3. 0.114 4.864 ↑ 1.0 371 1

Nested Loop Left Join (cost=306.28..2,159.92 rows=374 width=585) (actual time=2.681..4.864 rows=371 loops=1)

4. 0.018 3.670 ↑ 1.0 72 1

Nested Loop Left Join (cost=305.56..1,000.08 rows=72 width=545) (actual time=2.665..3.670 rows=72 loops=1)

  • Join Filter: (clip_bookmark.clip_id = clip.id)
5. 0.074 3.436 ↑ 1.0 72 1

Hash Join (cost=305.56..946.87 rows=72 width=529) (actual time=2.449..3.436 rows=72 loops=1)

  • Hash Cond: (clip.account_id = account.id)
6. 0.011 1.071 ↑ 1.0 72 1

Nested Loop (cost=0.42..640.75 rows=72 width=516) (actual time=0.120..1.071 rows=72 loops=1)

7. 0.005 0.772 ↑ 1.0 72 1

Limit (cost=0.00..31.45 rows=72 width=342) (actual time=0.110..0.772 rows=72 loops=1)

8. 0.767 0.767 ↑ 3,038.7 72 1

Seq Scan on clip (cost=0.00..95,558.55 rows=218,787 width=342) (actual time=0.110..0.767 rows=72 loops=1)

  • Filter: (visible AND (NOT inactive) AND (status <> 'created'::text) AND (workspace_id = '8271b633-a524-46e8-9620-c2d15c7ce3c6'::uuid))
  • Rows Removed by Filter: 2018
9. 0.288 0.288 ↑ 1.0 1 72

Index Scan using clip_media_pkey on clip_media (cost=0.42..8.44 rows=1 width=206) (actual time=0.004..0.004 rows=1 loops=72)

  • Index Cond: (id = clip.media_id)
10. 1.317 2.291 ↓ 1.0 6,098 1

Hash (cost=228.95..228.95 rows=6,095 width=29) (actual time=2.291..2.291 rows=6,098 loops=1)

  • Buckets: 8192 Batches: 1 Memory Usage: 433kB
11. 0.974 0.974 ↓ 1.0 6,098 1

Seq Scan on account (cost=0.00..228.95 rows=6,095 width=29) (actual time=0.001..0.974 rows=6,098 loops=1)

12. 0.001 0.216 ↓ 0.0 0 72

Materialize (cost=0.00..49.98 rows=3 width=16) (actual time=0.003..0.003 rows=0 loops=72)

13. 0.215 0.215 ↓ 0.0 0 1

Seq Scan on clip_bookmark (cost=0.00..49.96 rows=3 width=16) (actual time=0.215..0.215 rows=0 loops=1)

  • Filter: (account_id = '505e48ea-de53-46a3-9d43-b974ecdedafd'::uuid)
  • Rows Removed by Filter: 2477
14. 0.000 1.080 ↑ 1.0 5 72

Nested Loop Left Join (cost=0.72..16.06 rows=5 width=56) (actual time=0.006..0.015 rows=5 loops=72)

15. 0.360 0.360 ↑ 1.0 5 72

Index Only Scan using clip_tag_clip_id_tag_id_key on clip_tag (cost=0.43..14.46 rows=5 width=32) (actual time=0.004..0.005 rows=5 loops=72)

  • Index Cond: (clip_id = clip.id)
  • Heap Fetches: 369
16. 0.738 0.738 ↑ 1.0 1 369

Index Scan using tag_pkey on tag (cost=0.29..0.31 rows=1 width=40) (actual time=0.002..0.002 rows=1 loops=369)

  • Index Cond: (id = clip_tag.tag_id)