explain.depesz.com

PostgreSQL's explain analyze made readable

Result: CUno

Settings
# exclusive inclusive rows x rows loops node
1. 19.461 2,849.857 ↑ 38.5 205 1

Hash Left Join (cost=2,571.46..3,272.34 rows=7,884 width=28) (actual time=2,816.853..2,849.857 rows=205 loops=1)

  • Hash Cond: ((proc_def.deployment_id_)::text = (runtime_app.deployment_id)::text)
  • Join Filter: ((app_relation.metadata)::jsonb @? ((('$.processDefinitions[*].id ? (@ == '::text || (proc_def.id_)::text) || ')'::text))::jsonpath)
  • Rows Removed by Join Filter: 375
  • Filter: (NOT ((COALESCE(((model.model_editor_json)::jsonb #>> '{hidden}'::text[]), 'false'::text))::boolean))
  • Rows Removed by Filter: 15546
2. 14.014 14.014 ↑ 1.0 15,751 1

Seq Scan on act_re_procdef proc_def (cost=0.00..641.69 rows=15,769 width=37) (actual time=0.029..14.014 rows=15,751 loops=1)

3. 0.698 2,816.382 ↓ 218.0 218 1

Hash (cost=2,571.45..2,571.45 rows=1 width=103) (actual time=2,816.382..2,816.382 rows=218 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 48kB
4. 0.911 2,815.684 ↓ 218.0 218 1

Nested Loop (cost=1,004.98..2,571.45 rows=1 width=103) (actual time=2,728.730..2,815.684 rows=218 loops=1)

5. 32.802 2,797.691 ↓ 219.0 219 1

Hash Join (cost=1,004.69..2,471.01 rows=1 width=123) (actual time=2,728.697..2,797.691 rows=219 loops=1)

  • Hash Cond: (app_relation.model_id = model_history.id)
6. 36.890 36.890 ↓ 1.0 43,609 1

Seq Scan on app_relation (cost=0.00..1,302.86 rows=43,586 width=100) (actual time=0.016..36.890 rows=43,609 loops=1)

7. 1.234 2,727.999 ↓ 224.0 224 1

Hash (cost=1,004.68..1,004.68 rows=1 width=39) (actual time=2,727.999..2,727.999 rows=224 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 25kB
8. 2.540 2,726.765 ↓ 224.0 224 1

Nested Loop (cost=16.73..1,004.68 rows=1 width=39) (actual time=55.426..2,726.765 rows=224 loops=1)

9. 2,222.816 2,686.817 ↓ 28.0 224 1

Nested Loop (cost=16.44..619.34 rows=8 width=43) (actual time=55.373..2,686.817 rows=224 loops=1)

  • Join Filter: ((runtime_app.app_definition)::jsonb @? ((('$.models[*].id ? (@ == '::text || (model.id)::text) || ')'::text))::jsonpath)
  • Rows Removed by Join Filter: 60364
10. 361.833 361.833 ↑ 1.0 396 1

Seq Scan on model (cost=0.00..168.41 rows=407 width=13) (actual time=0.410..361.833 rows=396 loops=1)

  • Filter: (model_type = 0)
  • Rows Removed by Filter: 950
11. 97.808 102.168 ↓ 8.1 153 396

Materialize (cost=16.44..180.32 rows=19 width=461) (actual time=0.005..0.258 rows=153 loops=396)

12. 0.737 4.360 ↓ 8.1 153 1

Hash Join (cost=16.44..180.23 rows=19 width=461) (actual time=1.207..4.360 rows=153 loops=1)

  • Hash Cond: (app_model.id = runtime_app.model_id)
13. 2.484 2.484 ↑ 1.0 174 1

Seq Scan on model app_model (cost=0.00..163.32 rows=176 width=12) (actual time=0.031..2.484 rows=174 loops=1)

  • Filter: (model_type = 3)
  • Rows Removed by Filter: 1172
14. 0.771 1.139 ↑ 1.0 153 1

Hash (cost=14.53..14.53 rows=153 width=449) (actual time=1.138..1.139 rows=153 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 81kB
15. 0.368 0.368 ↑ 1.0 153 1

Seq Scan on runtime_app_def runtime_app (cost=0.00..14.53 rows=153 width=449) (actual time=0.014..0.368 rows=153 loops=1)

16. 37.408 37.408 ↑ 1.0 1 224

Index Scan using idx_proc_mod_history_proc on model_history (cost=0.29..48.16 rows=1 width=20) (actual time=0.154..0.167 rows=1 loops=224)

  • Index Cond: (model_id = model.id)
  • Filter: ((model.version - 1) = version)
  • Rows Removed by Filter: 66
17. 17.082 17.082 ↑ 1.0 1 219

Index Scan using idx_proc_mod_history_proc on model_history app_model_history (cost=0.29..100.43 rows=1 width=12) (actual time=0.072..0.078 rows=1 loops=219)

  • Index Cond: (model_id = app_model.id)
  • Filter: ((app_model.version - 1) = version)
  • Rows Removed by Filter: 80
Planning time : 18.688 ms
Execution time : 2,850.420 ms