explain.depesz.com

PostgreSQL's explain analyze made readable

Result: iADJ : optimizado

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

HashAggregate (cost=1,107,405.340..1,107,448.030 rows=3,415 width=682) (actual rows= loops=)

  • Group Key: mike.quebec_seven, mike.four_three, mike.zulu_mike, juliet_zulu.xray_papa, juliet_zulu.november_lima, quebec_three.two_oscar, mike.lima_seven, mike.two_kilo, xray_seven.alpha_kilo, lima_papa.tango_sierra, mike.two_kilo, quebec_three.four_charlie, quebec_three.zulu_four, quebec_three.six_xray, hotel_kilo(DISTINCT (kilo.papa_victor)::text, (...)
2.          

CTE juliet_four

3. 0.000 0.000 ↓ 0.0

Limit (cost=1,092,458.990..1,092,496.410 rows=20 width=106) (actual rows= loops=)

4. 0.000 0.000 ↓ 0.0

Unique (cost=1,092,458.990..1,168,768.690 rows=40,785 width=106) (actual rows= loops=)

5. 0.000 0.000 ↓ 0.0

Sort (cost=1,092,458.990..1,100,089.960 rows=3,052,388 width=106) (actual rows= loops=)

  • Sort Key: six_victor1.quebec_seven, six_victor1.four_three, six_victor1.zulu_mike, six_victor1.lima_seven, six_victor1.two_kilo, six_victor1.uniform_six, six_victor1.alpha_zulu, six_victor1.three_echo, six_victor1.two_bravo
6. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=36,937.400..408,968.810 rows=3,052,388 width=106) (actual rows= loops=)

  • Hash Cond: (foxtrot1.bravo = six_victor1.quebec_seven)
7. 0.000 0.000 ↓ 0.0

Seq Scan on echo_three victor (cost=0.000..163,962.890 rows=9,448,689 width=32) (actual rows= loops=)

8. 0.000 0.000 ↓ 0.0

Hash (cost=34,976.540..34,976.540 rows=67,349 width=106) (actual rows= loops=)

9. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=23,856.250..34,976.540 rows=67,349 width=106) (actual rows= loops=)

  • Hash Cond: (oscar_mike1.uniform_six = delta_kilo1.quebec_seven)
10. 0.000 0.000 ↓ 0.0

Seq Scan on juliet_foxtrot juliet_juliet (cost=0.000..5,549.400 rows=306,240 width=16) (actual rows= loops=)

11. 0.000 0.000 ↓ 0.0

Hash (cost=22,589.440..22,589.440 rows=40,785 width=122) (actual rows= loops=)

12. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=9,042.690..22,589.440 rows=40,785 width=122) (actual rows= loops=)

  • Hash Cond: (six_victor1.uniform_six = delta_kilo1.quebec_seven)
13. 0.000 0.000 ↓ 0.0

Seq Scan on uniform_uniform sierra_echo (cost=0.000..10,723.950 rows=40,785 width=106) (actual rows= loops=)

  • Filter: ((quebec_seven <> 'november_papa'::uuid) AND ((two_charlie)::text <> 'quebec_charlie'::text) AND (yankee_uniform(((four_three)::character varying)::text) ~~ 'delta_oscar'::text))
14. 0.000 0.000 ↓ 0.0

Hash (cost=5,818.530..5,818.530 rows=185,453 width=16) (actual rows= loops=)

15. 0.000 0.000 ↓ 0.0

Seq Scan on oscar_delta papa_six (cost=0.000..5,818.530 rows=185,453 width=16) (actual rows= loops=)

16.          

CTE whiskey_hotel

17. 0.000 0.000 ↓ 0.0

HashAggregate (cost=564.580..564.600 rows=2 width=24) (actual rows= loops=)

  • Group Key: papa_kilo.bravo
18. 0.000 0.000 ↓ 0.0

Nested Loop (cost=4.470..564.570 rows=2 width=24) (actual rows= loops=)

19. 0.000 0.000 ↓ 0.0

CTE Scan on juliet_four five (cost=0.000..0.400 rows=20 width=16) (actual rows= loops=)

20. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on sierra_zulu papa_kilo (cost=4.470..28.200 rows=1 width=24) (actual rows= loops=)

  • Recheck Cond: (bravo = six_victor2.quebec_seven)
  • Filter: (((zulu_papa)::text = 'tango_xray'::text) AND ((juliet_charlie)::text = ANY ('india_charlie'::text[])))
21. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on delta_six (cost=0.000..4.470 rows=6 width=0) (actual rows= loops=)

  • Index Cond: (bravo = six_victor2.quebec_seven)
22. 0.000 0.000 ↓ 0.0

GroupAggregate (cost=13,994.290..14,199.190 rows=3,415 width=682) (actual rows= loops=)

  • Group Key: mike.quebec_seven, mike.four_three, mike.zulu_mike, juliet_zulu.xray_papa, juliet_zulu.november_lima, quebec_three.two_oscar, mike.lima_seven, mike.two_kilo, xray_seven.alpha_kilo, lima_papa.tango_sierra, quebec_three.four_charlie, quebec_three.zulu_four, quebec_three.six_xray, tango_mike.lima_juliet
23. 0.000 0.000 ↓ 0.0

Sort (cost=13,994.290..14,002.830 rows=3,415 width=682) (actual rows= loops=)

  • Sort Key: mike.quebec_seven, mike.four_three, mike.zulu_mike, juliet_zulu.xray_papa, juliet_zulu.november_lima, quebec_three.two_oscar, mike.lima_seven, mike.two_kilo, xray_seven.alpha_kilo, lima_papa.tango_sierra, quebec_three.four_charlie, quebec_three.zulu_four, quebec_three.six_xray, tango_mike.lima_juliet
24. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=16.940..13,793.870 rows=3,415 width=682) (actual rows= loops=)

  • Hash Cond: (mike.quebec_seven = tango_mike.bravo)
25. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=16.870..13,777.580 rows=3,415 width=674) (actual rows= loops=)

26. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=8.230..621.750 rows=36 width=662) (actual rows= loops=)

27. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.790..375.490 rows=20 width=670) (actual rows= loops=)

28. 0.000 0.000 ↓ 0.0

Nested Loop Left Join (cost=3.370..206.490 rows=20 width=651) (actual rows= loops=)

29. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=2.950..37.540 rows=20 width=622) (actual rows= loops=)

  • Hash Cond: (lima_papa.quebec_seven = mike.two_bravo)
30. 0.000 0.000 ↓ 0.0

Seq Scan on three_alpha lima_papa (cost=0.000..29.100 rows=1,410 width=24) (actual rows= loops=)

31. 0.000 0.000 ↓ 0.0

Hash (cost=2.700..2.700 rows=20 width=630) (actual rows= loops=)

32. 0.000 0.000 ↓ 0.0

Hash Right Join (cost=0.650..2.700 rows=20 width=630) (actual rows= loops=)

  • Hash Cond: (xray_seven.quebec_seven = mike.alpha_zulu)
33. 0.000 0.000 ↓ 0.0

Seq Scan on zulu_five xray_seven (cost=0.000..1.620 rows=62 width=26) (actual rows= loops=)

34. 0.000 0.000 ↓ 0.0

Hash (cost=0.400..0.400 rows=20 width=636) (actual rows= loops=)

35. 0.000 0.000 ↓ 0.0

CTE Scan on juliet_four mike (cost=0.000..0.400 rows=20 width=636) (actual rows= loops=)

36. 0.000 0.000 ↓ 0.0

Index Scan using hotel_victor on oscar_delta juliet_zulu (cost=0.420..8.440 rows=1 width=45) (actual rows= loops=)

  • Index Cond: (quebec_seven = mike.uniform_six)
37. 0.000 0.000 ↓ 0.0

Index Scan using alpha_yankee on yankee_zulu quebec_three (cost=0.420..8.440 rows=1 width=51) (actual rows= loops=)

  • Index Cond: (mike.three_echo = quebec_seven)
38. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on juliet_foxtrot kilo (cost=4.440..12.290 rows=2 width=24) (actual rows= loops=)

  • Recheck Cond: (uniform_six = mike.uniform_six)
39. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on echo_alpha (cost=0.000..4.440 rows=2 width=0) (actual rows= loops=)

  • Index Cond: (uniform_six = mike.uniform_six)
40. 0.000 0.000 ↓ 0.0

Hash Left Join (cost=8.640..372.900 rows=94 width=28) (actual rows= loops=)

  • Hash Cond: (india_bravo.india_yankee = charlie.quebec_seven)
41. 0.000 0.000 ↓ 0.0

Bitmap Heap Scan on echo_three india_bravo (cost=5.290..368.260 rows=94 width=32) (actual rows= loops=)

  • Recheck Cond: (mike.quebec_seven = bravo)
42. 0.000 0.000 ↓ 0.0

Bitmap Index Scan on whiskey_alpha (cost=0.000..5.260 rows=94 width=0) (actual rows= loops=)

  • Index Cond: (mike.quebec_seven = bravo)
43. 0.000 0.000 ↓ 0.0

Hash (cost=2.600..2.600 rows=60 width=28) (actual rows= loops=)

44. 0.000 0.000 ↓ 0.0

Seq Scan on two_four charlie (cost=0.000..2.600 rows=60 width=28) (actual rows= loops=)

45. 0.000 0.000 ↓ 0.0

Hash (cost=0.040..0.040 rows=2 width=24) (actual rows= loops=)

46. 0.000 0.000 ↓ 0.0

CTE Scan on whiskey_hotel tango_mike (cost=0.000..0.040 rows=2 width=24) (actual rows= loops=)