explain.depesz.com

PostgreSQL's explain analyze made readable

Result: eKRh

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

Nested Loop (cost=18.14..54.86 rows=1 width=1,548) (actual rows= loops=)

  • Join Filter: (rl.gnl_role_spec_id = grs.gnl_role_spec_id)
2. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.14..52.15 rows=1 width=1,256) (actual rows= loops=)

  • Join Filter: ((psss.srvc_spec_id = rl.row_id) AND (grsl.gnl_role_spec_id = rl.gnl_role_spec_id) AND (gt.gnl_tp_id = rl.rel_tp_id))
3. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.14..49.47 rows=1 width=1,140) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.14..36.05 rows=1 width=976) (actual rows= loops=)

  • Join Filter: ((pol.lang)::text = (grsl.lang)::text)
5. 0.000 0.000 ↓ 0.0

Nested Loop (cost=18.14..33.64 rows=1 width=522) (actual rows= loops=)

6. 0.000 0.000 ↓ 0.0

Nested Loop (cost=17.99..33.35 rows=1 width=540) (actual rows= loops=)

7. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=17.71..32.50 rows=1 width=72) (actual rows= loops=)

  • Join Filter: (psrs.rsrc_spec_id = r.rsrc_spec_id)
8. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=9.41..22.87 rows=1 width=90) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Nested Loop (cost=9.28..22.70 rows=1 width=90) (actual rows= loops=)

10. 0.000 0.000 ↓ 0.0

Nested Loop (cost=9.13..22.44 rows=1 width=108) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Nested Loop (cost=8.85..22.02 rows=1 width=90) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Nested Loop (cost=8.58..13.71 rows=1 width=54) (actual rows= loops=)

13. 0.000 0.000 ↓ 0.0

Hash Join (cost=8.30..12.14 rows=1 width=18) (actual rows= loops=)

  • Hash Cond: (sp.st_id = s_1.gnl_st_id)
14. 0.000 0.000 ↓ 0.0

Seq Scan on srvc_spec sp (cost=0.00..3.66 rows=66 width=36) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Hash (cost=8.29..8.29 rows=1 width=18) (actual rows= loops=)

16. 0.000 0.000 ↓ 0.0

Index Scan using nui_gnl_st_03 on gnl_st s_1 (cost=0.27..8.29 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (((shrt_code)::text = 'ACTV'::text) AND (is_actv = '1'::numeric))
17. 0.000 0.000 ↓ 0.0

Index Scan using ref_132_fk on prod_spec_srvc_spec psss (cost=0.27..1.57 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (srvc_spec_id = sp.srvc_spec_id)
  • Filter: (is_actv = '1'::numeric)
18. 0.000 0.000 ↓ 0.0

Index Only Scan using nui_prod_spec_02 on prod_spec p (cost=0.28..8.29 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (prod_spec_id = psss.prod_spec_id)
19. 0.000 0.000 ↓ 0.0

Index Scan using ref_111_fk on prod_ofr po (cost=0.28..0.39 rows=3 width=54) (actual rows= loops=)

  • Index Cond: (prod_spec_id = p.prod_spec_id)
20. 0.000 0.000 ↓ 0.0

Index Scan using gnl_st_pkey on gnl_st s (cost=0.15..0.20 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (gnl_st_id = p.st_id)
  • Filter: ((is_actv = '1'::numeric) AND ((shrt_code)::text = 'ACTV'::text))
21. 0.000 0.000 ↓ 0.0

Index Scan using ref_133_fk on prod_spec_rsrc_spec psrs (cost=0.13..0.16 rows=1 width=36) (actual rows= loops=)

  • Index Cond: (p.prod_spec_id = prod_spec_id)
  • Filter: (is_actv = '1'::numeric)
22. 0.000 0.000 ↓ 0.0

Hash Join (cost=8.30..9.62 rows=1 width=18) (actual rows= loops=)

  • Hash Cond: (r.st_id = s_2.gnl_st_id)
23. 0.000 0.000 ↓ 0.0

Seq Scan on rsrc_spec r (cost=0.00..1.25 rows=25 width=36) (actual rows= loops=)

24. 0.000 0.000 ↓ 0.0

Hash (cost=8.29..8.29 rows=1 width=18) (actual rows= loops=)

25. 0.000 0.000 ↓ 0.0

Index Scan using nui_gnl_st_03 on gnl_st s_2 (cost=0.27..8.29 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (((shrt_code)::text = 'ACTV'::text) AND (is_actv = '1'::numeric))
26. 0.000 0.000 ↓ 0.0

Index Scan using idx_pol_prod_ofr_id on prod_ofr_lang pol (cost=0.28..0.83 rows=1 width=486) (actual rows= loops=)

  • Index Cond: (prod_ofr_id = po.prod_ofr_id)
  • Filter: (is_actv = '1'::numeric)
27. 0.000 0.000 ↓ 0.0

Index Scan using gnl_st_pkey on gnl_st gs (cost=0.15..0.22 rows=1 width=18) (actual rows= loops=)

  • Index Cond: (gnl_st_id = po.st_id)
  • Filter: (((shrt_code)::text <> 'DEL'::text) AND (is_actv = '1'::numeric))
28. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_role_spec_lang grsl (cost=0.00..2.40 rows=1 width=504) (actual rows= loops=)

  • Filter: (is_actv = '1'::numeric)
29. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_tp gt (cost=0.00..13.40 rows=2 width=164) (actual rows= loops=)

  • Filter: (is_actv = '1'::numeric)
30. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_spec_role_rel rl (cost=0.00..2.66 rows=1 width=152) (actual rows= loops=)

  • Filter: ((is_actv = '1'::numeric) AND (data_tp_id = '110'::numeric))
31. 0.000 0.000 ↓ 0.0

Seq Scan on gnl_role_spec grs (cost=0.00..2.70 rows=1 width=328) (actual rows= loops=)

  • Filter: (is_actv = '1'::numeric)