explain.depesz.com

PostgreSQL's explain analyze made readable

Result: rObQ

Settings
# exclusive inclusive rows x rows loops node
1. 0.000 0.000 ↓ 0.0

Sort (cost=28.61..28.62 rows=1 width=242) (actual rows= loops=)

  • Sort Key: processoev0_.dt_atualizacao DESC
2. 0.000 0.000 ↓ 0.0

Nested Loop Anti Join (cost=3.55..28.60 rows=1 width=242) (actual rows= loops=)

  • Join Filter: (((processoev6_.dt_atualizacao)::timestamp without time zone > (processoev0_.dt_atualizacao)::timestamp without time zone) AND ((processoev6_.id_processo)::integer = (processoev0_.id_processo)::integer))
3. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=2.13..14.90 rows=1 width=242) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop Semi Join (cost=1.42..13.68 rows=1 width=246) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..8.76 rows=1 width=242) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Index Scan using tb_evento_processual_in02 on tb_evento_processual eventoproc1_ (cost=0.15..4.17 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((cd_evento)::text = '1'::text)
7. 0.000 0.000 ↓ 0.0

Index Scan using tb_processo_evento_in12 on tb_processo_evento processoev0_ (cost=0.56..4.58 rows=1 width=242) (actual rows= loops=)

  • Index Cond: (((id_processo)::integer = 1) AND ((id_evento)::integer = (eventoproc1_.id_evento_processual)::integer))
8. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..4.91 rows=1 width=4) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Index Scan using tb_complemento_segmentado_in02 on tb_complemento_segmentado complement2_ (cost=0.57..4.73 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (id_movimento_processo = (processoev0_.id_processo_evento)::integer)
  • Filter: ((ds_texto)::text = '1'::text)
10. 0.000 0.000 ↓ 0.0

Index Scan using tb_tipo_complemento_pk on tb_tipo_complemento tipocomple3_ (cost=0.14..0.16 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id_tipo_complemento = complement2_.id_tipo_complemento)
  • Filter: ((cd_tipo_complemento)::text = '1'::text)
11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..1.21 rows=1 width=4) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Index Scan using tb_complemento_segmentado_in02 on tb_complemento_segmentado complement4_ (cost=0.57..1.03 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (id_movimento_processo = complement2_.id_movimento_processo)
  • Filter: ((ds_texto)::text = '1'::text)
13. 0.000 0.000 ↓ 0.0

Index Scan using tb_tipo_complemento_pk on tb_tipo_complemento tipocomple5_ (cost=0.14..0.16 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id_tipo_complemento = complement4_.id_tipo_complemento)
  • Filter: ((cd_tipo_complemento)::text = '1'::text)
14. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.42..13.68 rows=1 width=12) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Nested Loop (cost=1.28..13.50 rows=1 width=20) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Nested Loop (cost=0.71..8.76 rows=1 width=16) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Index Scan using tb_evento_processual_in02 on tb_evento_processual eventoproc7_ (cost=0.15..4.17 rows=1 width=4) (actual rows= loops=)

  • Index Cond: ((cd_evento)::text = '1'::text)
18. 0.000 0.000 ↓ 0.0

Index Scan using tb_processo_evento_in12 on tb_processo_evento processoev6_ (cost=0.56..4.59 rows=1 width=20) (actual rows= loops=)

  • Index Cond: (((id_processo)::integer = 1) AND ((id_evento)::integer = (eventoproc7_.id_evento_processual)::integer))
  • Filter: ((id_usuario)::integer = 1)
19. 0.000 0.000 ↓ 0.0

Index Scan using tb_complemento_segmentado_in02 on tb_complemento_segmentado complement8_ (cost=0.57..4.73 rows=1 width=12) (actual rows= loops=)

  • Index Cond: (id_movimento_processo = (processoev6_.id_processo_evento)::integer)
  • Filter: ((ds_texto)::text = '1'::text)
20. 0.000 0.000 ↓ 0.0

Index Scan using tb_tipo_complemento_pk on tb_tipo_complemento tipocomple9_ (cost=0.14..0.16 rows=1 width=8) (actual rows= loops=)

  • Index Cond: (id_tipo_complemento = complement8_.id_tipo_complemento)
  • Filter: ((cd_tipo_complemento)::text = '1'::text)