explain.depesz.com

PostgreSQL's explain analyze made readable

Result: UUpP

Settings
# exclusive inclusive rows x rows loops node
1. 1.570 10.235 ↓ 1.1 3,607 1

Hash Left Join (cost=599.55..2,037.53 rows=3,365 width=1,018) (actual time=3.169..10.235 rows=3,607 loops=1)

  • Hash Cond: (projectver0_.state = state2_.id)
2. 3.177 8.646 ↓ 1.1 3,607 1

Hash Join (cost=597.88..2,025.79 rows=3,365 width=867) (actual time=3.142..8.646 rows=3,607 loops=1)

  • Hash Cond: (projectver0_.project = project1_.version_meta_id)
3. 2.431 2.431 ↑ 1.0 3,791 1

Index Scan using public_projectversion_not_del_version_period_range_idx on projectversion projectver0_ (cost=0.40..1,375.49 rows=3,834 width=700) (actual time=0.092..2.431 rows=3,791 loops=1)

  • Index Cond: (tsrange(version_actual_period_start, version_actual_period_end, '[]'::text) @> get_versioning_scope_date())
4. 0.617 3.038 ↓ 1.1 3,607 1

Hash (cost=554.69..554.69 rows=3,423 width=167) (actual time=3.038..3.038 rows=3,607 loops=1)

  • Buckets: 4096 Batches: 1 Memory Usage: 599kB
5. 2.421 2.421 ↓ 1.1 3,607 1

Index Scan using ind_d8a10702242ee59f77a1f2e55398975d on project project1_ (cost=0.65..554.69 rows=3,423 width=167) (actual time=0.176..2.421 rows=3,607 loops=1)

  • Index Cond: (tsrange(version_actual_period_start, version_actual_period_end, '[]'::text) @> tsrange(get_versioning_scope_date(), get_versioning_scope_date(), '[]'::text))
  • Filter: (showhideproject AND (kind = 30))
  • Rows Removed by Filter: 293
6. 0.007 0.019 ↑ 1.0 30 1

Hash (cost=1.30..1.30 rows=30 width=151) (actual time=0.019..0.019 rows=30 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 14kB
7. 0.012 0.012 ↑ 1.0 30 1

Seq Scan on b4_state state2_ (cost=0.00..1.30 rows=30 width=151) (actual time=0.009..0.012 rows=30 loops=1)