explain.depesz.com

PostgreSQL's explain analyze made readable

Result: 8J7S

Settings
# exclusive inclusive rows x rows loops node
1. 0.324 4,429.600 ↓ 41.0 41 1

Nested Loop (cost=1,005.22..41,488.26 rows=1 width=139) (actual time=802.906..4,429.600 rows=41 loops=1)

2. 1.540 4,428.743 ↓ 41.0 41 1

Nested Loop (cost=1,004.94..41,487.95 rows=1 width=151) (actual time=802.880..4,428.743 rows=41 loops=1)

  • Join Filter: (tucastnikprojekt.tpro_pk = "*SELECT* 1".tpro_pk)
  • Rows Removed by Join Filter: 5986
3. 0.188 4,068.781 ↓ 41.0 41 1

Nested Loop (cost=1,003.67..40,209.00 rows=1 width=147) (actual time=795.946..4,068.781 rows=41 loops=1)

4. 0.255 4,068.183 ↓ 41.0 41 1

Nested Loop (cost=1,003.25..40,206.56 rows=1 width=151) (actual time=795.920..4,068.183 rows=41 loops=1)

5. 58.495 4,067.436 ↓ 41.0 41 1

Nested Loop Left Join (cost=1,002.96..40,206.25 rows=1 width=92) (actual time=795.896..4,067.436 rows=41 loops=1)

  • Join Filter: (tucastnikdotaznik.tdot_pk = tdotaznik_config.tdot_pk)
  • Rows Removed by Join Filter: 221440
6. 19.377 3,940.348 ↓ 41.0 41 1

Nested Loop (cost=1,002.96..39,335.29 rows=1 width=92) (actual time=793.161..3,940.348 rows=41 loops=1)

7. 0.000 3,726.876 ↓ 12,939.7 38,819 1

Gather (cost=1,002.54..39,333.80 rows=3 width=80) (actual time=528.758..3,726.876 rows=38,819 loops=1)

  • Workers Planned: 2
  • Workers Launched: 2
8. 62.340 3,869.213 ↓ 12,940.0 12,940 3

Nested Loop (cost=2.54..38,333.50 rows=1 width=80) (actual time=565.794..3,869.213 rows=12,940 loops=3)

9. 57.896 3,806.869 ↓ 12,940.0 12,940 3

Nested Loop (cost=2.26..38,331.20 rows=1 width=80) (actual time=565.734..3,806.869 rows=12,940 loops=3)

10. 973.557 3,748.970 ↓ 6,470.0 12,940 3

Nested Loop (cost=1.98..38,330.60 rows=2 width=84) (actual time=565.662..3,748.970 rows=12,940 loops=3)

11. 927.763 2,775.409 ↓ 14,242.5 199,395 3

Nested Loop (cost=1.56..38,323.60 rows=14 width=52) (actual time=2.533..2,775.409 rows=199,395 loops=3)

12. 829.749 1,847.642 ↓ 11,077.8 199,400 3

Nested Loop (cost=1.14..38,315.50 rows=18 width=56) (actual time=2.444..1,847.642 rows=199,400 loops=3)

  • -> Index Scan using tprojekt_pkey on tprojekt tprojekt_1 (cost=0.29..0.30 rows=1 width=32) (actual time=0.003..0.003 rows=1 loops
13. 1,017.893 1,017.893 ↓ 86.0 203,295 3

Merge Join (cost=0.85..37,594.71 rows=2,365 width=24) (actual time=2.391..1,017.893 rows=203,295 loops=3)

  • Merge Cond: ((tucastnikbalicek.tuca_pk = tucastnikprojekt.tuca_pk) AND (tucastnikbalicek.tpro_pk = tucastnikprojekt.tpro_pk))
  • -> Parallel Index Scan using tucastnikbalicek_tuca_pk_tpro_pk_idx on tucastnikbalicek (cost=0.42..17465.11 rows=208770 widt
  • Filter: ((NOT tucabal_s_skryt) AND (NOT tucabal_s_skryt))
  • Rows Removed by Filter: 55545
  • -> Index Scan using tucastnikprojekt_tuca_pk_tpro_pk_idx on tucastnikprojekt (cost=0.42..17318.99 rows=415367 width=8) (act
  • Filter: (NOT tucapro_s_skryt)
  • Rows Removed by Filter: 212698
  • Index Cond: (tpro_pk = tucastnikprojekt.tpro_pk)
  • Filter: (NOT tpro_s_skryt)
  • Rows Removed by Filter: 0
14. 0.004 0.004 ↑ 1.0 1 598,200

Index Scan using tucastnik_pkey on tucastnik (cost=0.42..0.45 rows=1 width=8) (actual time=0.004..0.004 rows=1 loops=598,200)

  • Index Cond: (tuca_pk = tucastnikprojekt.tuca_pk)
  • Filter: ((NOT tuca_s_skryt) AND (NOT tuca_s_skryt))
  • Rows Removed by Filter: 0
15. 0.004 0.004 ↓ 0.0 0 598,184

Index Scan using tuzivatel_pkey on tuzivatel (cost=0.42..0.50 rows=1 width=36) (actual time=0.004..0.004 rows=0 loops=598,184)

  • Index Cond: (tuzi_pk = tucastnik.tuzi_pk)
  • Filter: ((NOT tuzi_s_skryt) AND (tzak_pk = 182))
  • Rows Removed by Filter: 1
16. 0.003 0.003 ↑ 1.0 1 38,819

Index Scan using tbalicek_pkey on tbalicek (cost=0.28..0.30 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=38,819)

  • Index Cond: (tbal_pk = tucastnikbalicek.tbal_pk)
  • Filter: (NOT tbal_s_skryt)
17. 0.004 0.004 ↑ 1.0 1 38,819

Index Scan using tzakaznik_pkey on tzakaznik (cost=0.28..2.29 rows=1 width=8) (actual time=0.003..0.004 rows=1 loops=38,819)

  • Index Cond: (tzak_pk = 182)
  • Filter: (NOT tzak_s_skryt)
18. 194.095 194.095 ↓ 0.0 0 38,819

Index Scan using tucastnikdotaznik_tucabal_pk_idx on tucastnikdotaznik (cost=0.42..0.49 rows=1 width=28) (actual time=0.005..0.005 rows=0 loops=38,819)

  • Index Cond: (tucabal_pk = tucastnikbalicek.tucabal_pk)
  • Filter: ((NOT tucadot_s_skryt) AND (tucadot_dokonceni_datum IS NOT NULL) AND ((tucadot_hodnoceny_vztah IS NULL) OR (tucadot_hodnoceny_vztah = 'Sebehodnocení'::te
  • Rows Removed by Filter: 1
19. 68.593 68.593 ↓ 1.0 5,401 41

Seq Scan on tdotaznik_config (cost=0.00..803.76 rows=5,376 width=4) (actual time=0.005..1.673 rows=5,401 loops=41)

20. 0.492 0.492 ↑ 1.0 1 41

Index Scan using tdotaznik_pkey on tdotaznik (cost=0.28..0.32 rows=1 width=67) (actual time=0.012..0.012 rows=1 loops=41)

  • Index Cond: (tdot_pk = tucastnikdotaznik.tdot_pk)
  • Filter: (NOT tdot_s_skryt)
21. 0.410 0.410 ↑ 1.0 1 41

Index Only Scan using tuzivatel_pkey on tuzivatel tuzivatelspravcehlavni (cost=0.42..2.44 rows=1 width=4) (actual time=0.010..0.010 rows=1 loops=41)

  • Index Cond: (tuzi_pk = tzakaznik.tuzi_pk_spravce)
  • Heap Fetches: 0
22. 1.066 358.422 ↑ 1.5 147 41

Append (cost=1.27..1,276.25 rows=216 width=4) (actual time=0.084..8.742 rows=147 loops=41)

23. 0.041 1.107 ↓ 0.0 0 41

Subquery Scan on *SELECT* 1 (cost=1.27..177.09 rows=66 width=4) (actual time=0.027..0.027 rows=0 loops=41)

24. 0.000 1.066 ↓ 0.0 0 41

Nested Loop (cost=1.27..176.43 rows=66 width=124) (actual time=0.026..0.026 rows=0 loops=41)

25. 0.164 1.066 ↓ 0.0 0 41

Nested Loop (cost=0.70..4.75 rows=1 width=4) (actual time=0.026..0.026 rows=0 loops=41)

26. 0.492 0.492 ↑ 1.0 1 41

Index Scan using tuzivatel_pkey on tuzivatel tuzivatel_1 (cost=0.42..2.44 rows=1 width=8) (actual time=0.012..0.012 rows=1 loops=41)

  • Index Cond: (tuzi_pk = 45810)
  • Filter: ((NOT tuzi_s_skryt) AND (tuzi_stav = 1))
27. 0.410 0.410 ↓ 0.0 0 41

Index Scan using tzakaznik_pkey on tzakaznik tzakaznik_1 (cost=0.28..2.29 rows=1 width=8) (actual time=0.010..0.010 rows=0 loops=41)

  • Index Cond: (tzak_pk = tuzivatel_1.tzak_pk)
  • Filter: (tuzi_pk_spravce <> tuzivatel_1.tuzi_pk)
  • Rows Removed by Filter: 1
28. 0.000 0.000 ↓ 0.0 0

Nested Loop (cost=0.57..171.02 rows=66 width=8) (never executed)

29. 0.000 0.000 ↓ 0.0 0

Index Scan using tuzivatelprojekt_tuzi_pk_idx on tuzivatelprojekt (cost=0.29..44.24 rows=72 width=8) (never executed)

  • Index Cond: (tuzi_pk = 45810)
  • Filter: (NOT tuzipro_s_skryt)
30. 0.000 0.000 ↓ 0.0 0

Index Scan using tprojekt_pkey on tprojekt tprojekt_2 (cost=0.29..1.76 rows=1 width=4) (never executed)

  • Index Cond: (tpro_pk = tuzivatelprojekt.tpro_pk)
  • Filter: (NOT tpro_s_skryt)
31. 1.599 356.249 ↑ 1.0 147 41

Subquery Scan on *SELECT* 2 (cost=22.25..1,099.15 rows=150 width=4) (actual time=0.057..8.689 rows=147 loops=41)

32. 75.245 354.650 ↑ 1.0 147 41

Hash Join (cost=22.25..1,097.65 rows=150 width=124) (actual time=0.057..8.650 rows=147 loops=41)

  • Hash Cond: (tprojekt_3.tzak_pk = tuzivatel_2.tzak_pk)
33. 279.169 279.169 ↑ 1.0 11,072 41

Seq Scan on tprojekt tprojekt_3 (cost=0.00..1,032.34 rows=11,083 width=8) (actual time=0.013..6.809 rows=11,072 loops=41)

  • Filter: (NOT tpro_s_skryt)
  • Rows Removed by Filter: 1047
34. 0.004 0.236 ↑ 1.0 1 1

Hash (cost=22.24..22.24 rows=1 width=4) (actual time=0.236..0.236 rows=1 loops=1)

  • Buckets: 1024 Batches: 1 Memory Usage: 9kB
35. 0.003 0.232 ↑ 1.0 1 1

Nested Loop (cost=0.42..22.24 rows=1 width=4) (actual time=0.098..0.232 rows=1 loops=1)

36. 0.218 0.218 ↑ 1.0 1 1

Seq Scan on tzakaznik tzakaznik_2 (cost=0.00..19.79 rows=1 width=4) (actual time=0.085..0.218 rows=1 loops=1)

  • Filter: (tuzi_pk_spravce = 45810)
  • Rows Removed by Filter: 649
37. 0.011 0.011 ↑ 1.0 1 1

Index Scan using tuzivatel_pkey on tuzivatel tuzivatel_2 (cost=0.42..2.44 rows=1 width=8) (actual time=0.010..0.011 rows=1 loops=1)

  • Index Cond: (tuzi_pk = 45810)
  • Filter: ((NOT tuzi_s_skryt) AND (tuzi_stav = 1))
38. 0.533 0.533 ↑ 1.0 1 41

Index Scan using tprojekt_pkey on tprojekt (cost=0.29..0.30 rows=1 width=4) (actual time=0.013..0.013 rows=1 loops=41)

  • Index Cond: (tpro_pk = tucastnikprojekt.tpro_pk)
  • Filter: (testovaci_tdot_pk IS NULL)