explain.depesz.com

PostgreSQL's explain analyze made readable

Result: qBcX : Optimization for: plan #OBAl

Settings

Optimization path:

Optimization(s) for this plan:

# exclusive inclusive rows x rows loops node
1. 973.328 14,524.888 ↑ 13,141,517.4 5 1

Hash Join (cost=351,099.98..1,114,961,564.77 rows=65,707,587 width=251) (actual time=9,479.032..14,524.888 rows=5 loops=1)

  • Hash Cond: (i.interaccion_id = ii.interaccion_id)
2. 7,244.226 13,380.409 ↑ 1.0 11,900,065 1

Hash Join (cost=224,746.46..898,170.63 rows=12,048,306 width=32) (actual time=2,523.806..13,380.409 rows=11,900,065 loops=1)

  • Hash Cond: (i.rol_id = r.rol_id)
3. 1,022.353 3,615.843 ↑ 1.0 11,900,068 1

Append (cost=0.00..262,151.05 rows=12,048,306 width=24) (actual time=0.013..3,615.843 rows=11,900,068 loops=1)

4. 0.002 0.002 ↓ 0.0 0 1

Seq Scan on enco_interacciones_negocio i (cost=0.00..0.00 rows=1 width=24) (actual time=0.002..0.002 rows=0 loops=1)

5. 1,862.924 1,862.924 ↑ 1.0 8,306,201 1

Seq Scan on enco_interacciones_negocio_2018 i_1 (cost=0.00..168,700.09 rows=8,306,509 width=24) (actual time=0.010..1,862.924 rows=8,306,201 loops=1)

6. 1.962 1.962 ↑ 1.0 8,184 1

Seq Scan on enco_interacciones_negocio_errores i_2 (cost=0.00..171.25 rows=8,325 width=24) (actual time=0.022..1.962 rows=8,184 loops=1)

7. 728.602 728.602 ↑ 1.0 3,585,683 1

Seq Scan on enco_interacciones_negocio_2019 i_3 (cost=0.00..93,279.71 rows=3,733,471 width=24) (actual time=0.013..728.602 rows=3,585,683 loops=1)

8. 1,338.483 2,520.340 ↑ 1.0 5,957,820 1

Hash (cost=121,097.87..121,097.87 rows=5,962,687 width=16) (actual time=2,520.340..2,520.340 rows=5,957,820 loops=1)

  • Buckets: 131072 Batches: 128 Memory Usage: 3209kB
9. 1,181.857 1,181.857 ↑ 1.0 5,957,820 1

Seq Scan on enco_roles r (cost=0.00..121,097.87 rows=5,962,687 width=16) (actual time=0.008..1,181.857 rows=5,957,820 loops=1)

10. 0.012 170.886 ↑ 218.2 5 1

Hash (cost=126,339.89..126,339.89 rows=1,091 width=157) (actual time=170.886..170.886 rows=5 loops=1)

  • Buckets: 2048 Batches: 1 Memory Usage: 18kB
11. 0.004 170.874 ↑ 218.2 5 1

Nested Loop Left Join (cost=1.57..126,339.89 rows=1,091 width=157) (actual time=170.464..170.874 rows=5 loops=1)

12. 0.005 170.840 ↑ 218.2 5 1

Nested Loop Left Join (cost=1.14..125,724.93 rows=1,091 width=155) (actual time=170.450..170.840 rows=5 loops=1)

13. 0.001 170.805 ↑ 218.2 5 1

Nested Loop Left Join (cost=0.71..120,596.05 rows=1,091 width=147) (actual time=170.437..170.805 rows=5 loops=1)

14. 0.011 170.774 ↑ 218.2 5 1

Nested Loop (cost=0.28..117,560.05 rows=1,091 width=137) (actual time=170.424..170.774 rows=5 loops=1)

15. 0.014 170.728 ↑ 218.2 5 1

Nested Loop (cost=0.00..117,229.23 rows=1,091 width=129) (actual time=170.403..170.728 rows=5 loops=1)

16. 0.004 170.428 ↑ 47.7 22 1

Append (cost=0.00..98,895.89 rows=1,049 width=83) (actual time=170.339..170.428 rows=22 loops=1)

17. 0.003 0.003 ↓ 0.0 0 1

Seq Scan on enco_interacciones_negocio_roles ir (cost=0.00..0.00 rows=1 width=124) (actual time=0.003..0.003 rows=0 loops=1)

  • Filter: (((codigo_usuario_responsable)::text = 'ortizcr'::text) AND ((fecha_interaccion)::date >= '2019-02-02'::date) AND ((fecha_interaccion)::date <= '2019-02-04'::date) AND (((estado)::text = 'RECEPCIONADO'::text) OR ((estado)::text = 'RESUELTO'::text)))
18. 0.005 0.005 ↓ 0.0 0 1

Index Scan using enco_interacciones_negocio_roles_errores_resp_i on enco_interacciones_negocio_roles_errores ir_1 (cost=0.14..8.18 rows=1 width=108) (actual time=0.005..0.005 rows=0 loops=1)

  • Index Cond: ((codigo_usuario_responsable)::text = 'ortizcr'::text)
  • Filter: (((fecha_interaccion)::date >= '2019-02-02'::date) AND ((fecha_interaccion)::date <= '2019-02-04'::date) AND (((estado)::text = 'RECEPCIONADO'::text) OR ((estado)::text = 'RESUELTO'::text)))
19. 11.385 12.577 ↓ 0.0 0 1

Bitmap Heap Scan on enco_interacciones_negocio_roles_2018 ir_2 (cost=63.07..8,929.31 rows=12 width=83) (actual time=12.577..12.577 rows=0 loops=1)

  • Recheck Cond: ((codigo_usuario_responsable)::text = 'ortizcr'::text)
  • Filter: (((fecha_interaccion)::date >= '2019-02-02'::date) AND ((fecha_interaccion)::date <= '2019-02-04'::date) AND (((estado)::text = 'RECEPCIONADO'::text) OR ((estado)::text = 'RESUELTO'::text)))
  • Rows Removed by Filter: 3610
  • Heap Blocks: exact=3417
20. 1.192 1.192 ↓ 1.5 3,610 1

Bitmap Index Scan on enco_interacciones_negocio_roles_2018_resp_i (cost=0.00..63.06 rows=2,484 width=0) (actual time=1.192..1.192 rows=3,610 loops=1)

  • Index Cond: ((codigo_usuario_responsable)::text = 'ortizcr'::text)
21. 122.631 157.839 ↑ 47.0 22 1

Bitmap Heap Scan on enco_interacciones_negocio_roles_2019 ir_3 (cost=5,527.56..89,958.40 rows=1,035 width=83) (actual time=157.751..157.839 rows=22 loops=1)

  • Recheck Cond: ((codigo_usuario_responsable)::text = 'ortizcr'::text)
  • Filter: (((fecha_interaccion)::date >= '2019-02-02'::date) AND ((fecha_interaccion)::date <= '2019-02-04'::date) AND (((estado)::text = 'RECEPCIONADO'::text) OR ((estado)::text = 'RESUELTO'::text)))
  • Rows Removed by Filter: 220510
  • Heap Blocks: exact=10929
22. 35.208 35.208 ↓ 1.0 220,586 1

Bitmap Index Scan on enco_interacciones_negocio_roles_2019_resp_i (cost=0.00..5,527.30 rows=214,249 width=0) (actual time=35.208..35.208 rows=220,586 loops=1)

  • Index Cond: ((codigo_usuario_responsable)::text = 'ortizcr'::text)
23. 0.022 0.286 ↓ 0.0 0 22

Append (cost=0.00..17.44 rows=4 width=59) (actual time=0.013..0.013 rows=0 loops=22)

24. 0.000 0.000 ↓ 0.0 0 22

Seq Scan on enco_interacciones_negocio_items ii (cost=0.00..0.00 rows=1 width=59) (actual time=0.000..0.000 rows=0 loops=22)

  • Filter: (((estado)::text = 'PENDIENTE'::text) AND (ir.interaccion_id = interaccion_id) AND (ir.interaccion_item_id = interaccion_item_id) AND ((((estado)::text = 'PENDIENTE'::text) AND ((ir.estado)::text = 'RECEPCIONADO'::text)) OR (((estado)::text <> 'PENDIENTE'::text) AND ((ir.estado)::text = 'RESUELTO'::text))))
25. 0.044 0.044 ↓ 0.0 0 22

Index Scan using enco_interacciones_negocio_items_errores_enco_interacciones_neg on enco_interacciones_negocio_items_errores ii_1 (cost=0.28..0.86 rows=1 width=60) (actual time=0.002..0.002 rows=0 loops=22)

  • Index Cond: (interaccion_id = ir.interaccion_id)
  • Filter: (((estado)::text = 'PENDIENTE'::text) AND (ir.interaccion_item_id = interaccion_item_id) AND ((((estado)::text = 'PENDIENTE'::text) AND ((ir.estado)::text = 'RECEPCIONADO'::text)) OR (((estado)::text <> 'PENDIENTE'::text) AND ((ir.estado)::text = 'RESUELTO'::text))))
26. 0.044 0.044 ↓ 0.0 0 22

Index Scan using enco_interacciones_negocio_items_2018_enco_interacciones_negoci on enco_interacciones_negocio_items_2018 ii_2 (cost=0.43..8.34 rows=1 width=59) (actual time=0.002..0.002 rows=0 loops=22)

  • Index Cond: (interaccion_id = ir.interaccion_id)
  • Filter: (((estado)::text = 'PENDIENTE'::text) AND (ir.interaccion_item_id = interaccion_item_id) AND ((((estado)::text = 'PENDIENTE'::text) AND ((ir.estado)::text = 'RECEPCIONADO'::text)) OR (((estado)::text <> 'PENDIENTE'::text) AND ((ir.estado)::text = 'RESUELTO'::text))))
27. 0.176 0.176 ↓ 0.0 0 22

Index Scan using enco_interacciones_negocio_items_2019_enco_interacciones_negoci on enco_interacciones_negocio_items_2019 ii_3 (cost=0.43..8.24 rows=1 width=59) (actual time=0.008..0.008 rows=0 loops=22)

  • Index Cond: (interaccion_id = ir.interaccion_id)
  • Filter: (((estado)::text = 'PENDIENTE'::text) AND (ir.interaccion_item_id = interaccion_item_id) AND ((((estado)::text = 'PENDIENTE'::text) AND ((ir.estado)::text = 'RECEPCIONADO'::text)) OR (((estado)::text <> 'PENDIENTE'::text) AND ((ir.estado)::text = 'RESUELTO'::text))))
  • Rows Removed by Filter: 1
28. 0.035 0.035 ↑ 1.0 1 5

Index Scan using enco_tipos_items_interaccion_pk on enco_tipos_item_interaccion ti (cost=0.28..0.29 rows=1 width=13) (actual time=0.007..0.007 rows=1 loops=5)

  • Index Cond: ((tipo_item)::text = (ii.tipo_item)::text)
29. 0.030 0.030 ↑ 1.0 1 5

Index Scan using recu_lineas_contratadas_clie_suscripciones_fk_i on recu_lineas_contratadas lc (cost=0.43..2.77 rows=1 width=18) (actual time=0.006..0.006 rows=1 loops=5)

  • Index Cond: (ii.suscripcion_id = suscripcion_id)
30. 0.030 0.030 ↑ 1.0 1 5

Index Scan using clie_suscripciones_pk on clie_suscripciones s (cost=0.43..4.69 rows=1 width=16) (actual time=0.006..0.006 rows=1 loops=5)

  • Index Cond: (ii.suscripcion_id = suscripcion_id)
31. 0.030 0.030 ↑ 1.0 1 5

Index Scan using clie_contratos_pk on clie_contratos c (cost=0.43..0.55 rows=1 width=18) (actual time=0.006..0.006 rows=1 loops=5)

  • Index Cond: (s.contrato_id = contrato_id)
32.          

SubPlan (forHash Join)

33. 0.140 0.140 ↑ 1.0 1 5

Index Scan using enco_personas_pk on enco_personas (cost=0.43..8.46 rows=1 width=32) (actual time=0.028..0.028 rows=1 loops=5)

  • Index Cond: (persona_id = r.persona_id)
34. 0.025 0.125 ↑ 1.0 1 5

Limit (cost=0.43..8.46 rows=1 width=32) (actual time=0.024..0.025 rows=1 loops=5)

35. 0.100 0.100 ↑ 1.0 1 5

Index Scan using enco_identificaciones_enco_persona_id_i on enco_identificaciones (cost=0.43..8.46 rows=1 width=32) (actual time=0.020..0.020 rows=1 loops=5)

  • Index Cond: (persona_id = r.persona_id)