explain.depesz.com

PostgreSQL's explain analyze made readable

Result: wYnR

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

Unique (cost=548,764.72..548,764.73 rows=1 width=6) (actual rows= loops=)

2. 0.000 0.000 ↓ 0.0

Sort (cost=548,764.72..548,764.72 rows=1 width=6) (actual rows= loops=)

  • Sort Key: iploru_obx_latest16.iploru_obx_id, hl7_obx7.obx_11
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=300,895.41..548,764.71 rows=1 width=6) (actual rows= loops=)

  • Join Filter: ((iploru_obx13.set_id = hl7_obx7.obx_1) AND (hl7_msh15.msg_id = hl7_obx7.msg_id) AND ((iploru_obx13.obs_id)::text = (hl7_obx7.obx_3_1)::text))
4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=300,894.85..548,743.99 rows=1 width=65) (actual rows= loops=)

  • Join Filter: ((iploru9.filler_order_number)::text = (hl7_obr10.obr_3)::text)
5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=300,894.42..548,741.65 rows=1 width=87) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=300,893.99..548,733.79 rows=3 width=57) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Hash Join (cost=300,893.55..548,703.93 rows=13 width=49) (actual rows= loops=)

  • Hash Cond: ((iploru_obx_latest16.latest_obx_date = hl7_msh15.msh_7) AND (msg_to_iploru8.msg_id = hl7_msh15.msg_id))
8. 0.000 0.000 ↓ 0.0

Hash Join (cost=89,011.32..297,195.02 rows=537,436 width=49) (actual rows= loops=)

  • Hash Cond: (iploru_obx13.iploru_id = msg_to_iploru8.iploru_id)
9. 0.000 0.000 ↓ 0.0

Hash Join (cost=53,964.11..191,544.52 rows=528,225 width=41) (actual rows= loops=)

  • Hash Cond: (iploru_obx13.iploru_obx_id = iploru_obx_latest16.iploru_obx_id)
10. 0.000 0.000 ↓ 0.0

Hash Join (cost=2.19..107,542.96 rows=1,001,437 width=33) (actual rows= loops=)

  • Hash Cond: ((iploru_obx13.obs_id)::text = (obx_date_parameters0.obx_parameter_name)::text)
11. 0.000 0.000 ↓ 0.0

Seq Scan on iploru_obx iploru_obx13 (cost=0.00..89,731.93 rows=2,078,524 width=22) (actual rows= loops=)

  • Filter: ((iploru_id IS NOT NULL) AND (set_id IS NOT NULL) AND (obs_id IS NOT NULL) AND (iploru_obx_id IS NOT NULL))
12. 0.000 0.000 ↓ 0.0

Hash (cost=1.53..1.53 rows=53 width=11) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Seq Scan on obx_date_parameters obx_date_parameters0 (cost=0.00..1.53 rows=53 width=11) (actual rows= loops=)

  • Filter: (obx_parameter_name IS NOT NULL)
14. 0.000 0.000 ↓ 0.0

Hash (cost=34,903.06..34,903.06 rows=1,096,389 width=12) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Seq Scan on iploru_obx_latest iploru_obx_latest16 (cost=0.00..34,903.06 rows=1,096,389 width=12) (actual rows= loops=)

  • Filter: ((latest_obx_date IS NOT NULL) AND (iploru_obx_id IS NOT NULL) AND (latest_obx_date > '2000-12-31 23:59:59.9'::timestamp without time zone) AND ('2050-01-01 00:00:00'::timestamp without time zone > latest_obx_date))
16. 0.000 0.000 ↓ 0.0

Hash (cost=16,397.20..16,397.20 rows=1,136,720 width=8) (actual rows= loops=)

17. 0.000 0.000 ↓ 0.0

Seq Scan on msg_to_iploru msg_to_iploru8 (cost=0.00..16,397.20 rows=1,136,720 width=8) (actual rows= loops=)

  • Filter: ((iploru_id IS NOT NULL) AND (msg_id IS NOT NULL))
18. 0.000 0.000 ↓ 0.0

Hash (cost=126,097.62..126,097.62 rows=4,314,508 width=16) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

Seq Scan on hl7_msh hl7_msh15 (cost=0.00..126,097.62 rows=4,314,508 width=16) (actual rows= loops=)

  • Filter: ((msh_7 IS NOT NULL) AND (msg_id IS NOT NULL) AND (msh_id IS NOT NULL) AND (msh_7 > '2000-12-31 23:59:59.9'::timestamp without time zone) AND ('2050-01-01 00:00:00'::timestamp without time zone > msh_7))
20. 0.000 0.000 ↓ 0.0

Index Scan using hl7_msg_pkey on hl7_msg hl7_msg3 (cost=0.43..2.29 rows=1 width=8) (actual rows= loops=)

  • Index Cond: ((msg_id = hl7_msh15.msg_id) AND (msg_id IS NOT NULL))
  • Filter: ((feed)::text = 'IPLORU'::text)
21. 0.000 0.000 ↓ 0.0

Index Scan using iploru_pkey on iploru iploru9 (cost=0.43..2.61 rows=1 width=42) (actual rows= loops=)

  • Index Cond: ((iploru_id = iploru_obx13.iploru_id) AND (iploru_id IS NOT NULL))
  • Filter: (filler_order_number IS NOT NULL)
22. 0.000 0.000 ↓ 0.0

Index Scan using hl7_obr_msg_id on hl7_obr hl7_obr10 (cost=0.43..2.31 rows=2 width=42) (actual rows= loops=)

  • Index Cond: ((msg_id = hl7_msh15.msg_id) AND (msg_id IS NOT NULL))
  • Filter: ((obr_3 IS NOT NULL) AND (obr_id IS NOT NULL))
23. 0.000 0.000 ↓ 0.0

Index Scan using hl7_obx_obr_id_idx on hl7_obx hl7_obx7 (cost=0.57..20.70 rows=1 width=32) (actual rows= loops=)

  • Index Cond: ((obr_id = hl7_obr10.obr_id) AND (obr_id IS NOT NULL))
  • Filter: ((obx_1 IS NOT NULL) AND (msg_id IS NOT NULL) AND (obx_3_1 IS NOT NULL) AND (obx_id IS NOT NULL) AND (obx_11 IS NOT NULL) AND (hl7_obr10.msg_id = msg_id))