Stenogram Sejmu · 2026-06-18

Paulina Hennig-Kloska

Kadencja 10 · posiedzenie 60 · wypowiedź 98

Profil posła

Brak głosu imiennego z tego dnia, który potwierdzałby klub mówcy.

Pełna wypowiedź

10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 12. punkt porządku dziennego: Informacja bieżąca. Minister Klimatu i Środowiska Paulina Hennig-Kloska: Panie Marszałku! Panie i Panowie Posłowie! Szanowni Państwo! Dziękuję bardzo za te półtorej godziny i za tę debatę. Na wstępie, odpowiadając na państwa pytania, pozwolę sobie poruszyć wątki, których nie udało mi się poruszyć w pierwszej części mojego wystąpienia. Wtedy mówiłam dużo o energetyce rozproszonej, o planach wsparcia spółdzielni energetycznej i programów termomodernizacyjnych. Będę jeszcze do tego nawiązywać, ale teraz chciałabym się skupić bardziej na tych kwestiach, o które państwo pytaliście, a których nie poruszałam, czyli na gospodarce wodno-ściekowej i inwestycjach w tym zakresie, na adaptacji miast do zmian klimatu poprzez budowę odporności regionów, na mikroretencji czy małej retencji, która była, już jest realizowana lub jest w planach. (Głos z sali: Dofinansowania dla firm.) Szanowni Państwo! To są obszary, które też są mocno zaopiekowane w ostatnich latach, na ile możliwości finansowe na to pozwoliły. Mamy tu realne dokonania i realne sukcesy. Jeżeli chodzi o inwestycje w zakresie gospodarki wodno-ściekowej, zaopatrzenia w wodę do spożycia, to przeprowadziliśmy przez ostatnie 2 lata sześć naborów z budżetem podpisanych umów na kwotę ponad 5 mld zł. (Oklaski) To są konkretne inwestycje w całej Polsce. To jest, szanowni państwo, 610 km sieci kanalizacyjnych, nowych lub zmodernizowanych, 40 zmodernizowanych lub wybudowanych praktycznie od nowa oczyszczalni ścieków. Z drugiej strony - też 310 km sieci wodociągowej, 70 stacji uzdatniania wody, 50 ujęć wody. To jest poprawa jakości życia często osób mieszkających na terenach wiejskich, bo tam kanalizacja ma mniejszy zasięg. To w realny sposób poprawia jakość życia na tym terenie. Jeżeli chodzi o budowanie odporności naszych miast i regionów, państwo bardzo często widzicie to teraz. Zmiany klimatu przyspieszają, mamy przeciągające się okresy suszy, braku opadów. Taka była wiosna w tym roku, dopiero ostatnie dni nieco to zmieniły, poprawiając średnią sumę opadów, chociażby miesięcznych. Ale to również problemy z nagłymi wyładowaniami atmosferycznymi, z którymi nie radzą sobie nasze miasta. W ramach budowania odporności miast przygotowaliśmy też program adaptacji do zmian klimatu, w ramach którego budowane są na terenach miejskich magazyny wody, przebudowywane są systemy przyjmowania i odprowadzania deszczówki, systemy odprowadzania wody, odbrukowywane są miasta. Zwiększa się ilość terenów zielonych. W tym zakresie mamy w procesie ok. 200 projektów, wydaliśmy na nie 4,3 mld zł, ale mamy jeszcze drugą taką pulę środków do zaadresowania i zachęcamy samorządy do podejmowania tego typu inwestycji. Mikroretencja przydomowa - bardzo ważny program, to dofinansowania do zbierania, magazynowania i wykorzystywania wód opadowych i roztopowych na terenie prywatnych nieruchomości. Ten program z budżetem 173 mln zł ruszy, szanowni państwo, za 4 dni. To jest ważny program również z punktu widzenia walki z suszą. 8 tys. zł na projekt będzie można pozyskać. Ale też podejmujemy wysiłki w zakresie retencji regionalnej. W tym zakresie przygotowaliśmy m.in. komponent przyrodniczy Tarczy Wschód i przeznaczyliśmy 450 mln zł na programy naturalizacji i wsparcia ciągłości systemów ekologicznych, np. rzeki Narew. Ostatnio odebrałam zakończoną inwestycję w renaturyzację i odbudowę części przebiegu rzeki Ełk, która łącznie w dwóch etapach wydłużyła się, z powrotem wracając do swojego starego dorzecza, o 37 km. Prowadzimy cały szereg działań w tym zakresie. Oczywiście tu środków zawsze przydałoby się więcej, ale tak jak powiedziałam, ruszył właśnie nabór na 450 mln zł - to jest 0,5 mld - który właśnie w zakresie nawodnienia terenów głównie na terenach wschodnich w ramach przyrodniczego komponentu Tarczy Wschód prowadzimy. Wsparcie dla strażaków. To są absolutne brednie, że wozy strażackie przestały trafiać do regionów. Nowe dane mówią zupełnie co innego. Przytoczę tu konkretne liczby. W latach 2024-2025 zakupiliśmy w ramach wsparcia Ministerstwa Klimatu i Środowiska przy udziale narodowego funduszu i wojewódzkich funduszy 323 wozy ratowniczo-gaśnicze, które pracują już dziś w regionach (Oklaski), ale również 47 zestawów sprzętu ratowniczego dla ratownictwa wodnego i górskiego. (Poseł Mirosław Suchoń: Będą nowe.) To jest nasze konkretne wsparcie w ramach podziękowania za zaangażowanie dla pracowników wodnych, ratowników wodnych, ratowników górskich, ale także funkcjonariuszy i funkcjonariuszek Państwowej Straży Pożarnej, druhów i druhen pracujących w OSP. Bo to oni są często pierwsi na miejscu zdarzenia. To oni wspierali nas w ogarnięciu chociażby dwóch ostatnich wielkoskalowych pożarów na terenach leśnych. To są miliony złotych, które trafiają do strażaków. Pytaliście państwo dużo. Oczywiście na wszystkie pytania odpowiemy też w wersji pisemnej, na te, na które nie zdążę odpowiedzieć. ˝Energia dla ludzi˝ - program niezwykle ważny. Kiedy obejmowaliśmy... (Poseł Katarzyna Czochara: Dofinansowania dla firm, dla wiatraków.) Wicemarszałek Piotr Zgorzelski: Można było zadawać pytania, a teraz nie jest ta forma, bo pani minister odpowiada na pytania. Minister Klimatu i Środowiska Paulina Hennig-Kloska: Pani pozwoli mi odpowiedzieć na pytania posłów. (Poseł Katarzyna Czochara: Czy moje też będzie?) Powiedziałam, że każdy dostanie odpowiedź, ewentualnie na piśmie. Mam jeszcze tylko 3 minuty, a pani przeszkadza mi w udzieleniu odpowiedzi posłom na ważne pytanie swoim burzliwym i nieprzystającym do tej Izby zachowaniem. (Oklaski) (Poseł Krzysztof Mulawa: Na żadne pytanie pani nie odpowiedziała.) Kiedy obejmowałam urząd ministra klimatu i środowiska, w Polsce było zarejestrowanych 18 spółdzielni energetycznych. Dzisiaj mamy ich zarejestrowanych ponad 700. Ale tak, szykujemy duży program, który ma te spółdzielnie wypełnić konkretnymi programami inwestycyjnymi, które będą służyć w gminach, służyć ludziom. Państwo o to pytaliście. W pierwszej kolejności przygotowaliśmy 80 mln zł na wsparcie przedinwestycyjne, na przygotowanie projektów inwestycyjnych. Narodowy fundusz niebawem ten program będzie uruchamiał. Pokazaliśmy konkretne modele, o których mówiłam w pierwszej części swojego wystąpienia. To konkretne modele funkcjonowania takich spółdzielni, które dają w ciągu 10 lat 50 mln zł oszczędności na rachunkach za energię, szanowni państwo. Chcemy te modele wdrażać wspólnie ze spółdzielniami energetycznymi. Tak, spółdzielnie mają się też opierać na pracy biogazowni, biometanowni, fotowoltaiki, energii z wiatru i magazynowania energii. Pan poseł o to pytał. Chcemy oczywiście przygotować wsparcie dofinansowania, ale przede wszystkim będzie też dobry program ze wsparciem nisko oprocentowanego finansowania, o charakterze bardziej komercyjnym. Niemniej, tak jak powiedziałam, w 10 lat to może dać 50 mln zł oszczędności na rachunkach za energię, nawet w takim modelu finansowym, jaki już za chwilę będzie dostępny. Spółdzielnie chcą z tego korzystać. Ale też chcemy już jesienią zawnioskować do Funduszu Modernizacyjnego o jeszcze 1 mld zł dofinansowania do tego typu projekcji inwestycyjnych. Pytali państwo o pojemność wielkoskalowych magazynów energii, o duży program, który w tej chwili realizujemy. Tak jak powiedziałam, to są duże i wielkoskalowe magazyny energii. Łącznie 184 takie projekty otrzymały dofinansowanie z Funduszu Modernizacyjnego i Krajowego Planu Odbudowy w ostatnich 2 latach. To jest 4578 MW mocy, szanowni państwo. To jest pojemność 16 940 MWh. Ale co to oznacza? To jest ilość energii, którą można zgromadzić w momentach szczytowych pracy OZE, by przez dobę dostarczać prąd do 3,2 mln gospodarstw domowych, statystycznych gospodarstw domowych. Zatem to jest naprawdę duża skala postępu, jaki zrobimy w budowie efektywności energetycznej i poprawie bilansowania w sieci elektroenergetycznej. ˝Czyste powietrze˝. Pytali państwo o ustawę pomocową, niezwykle ważną. W przyszłym tygodniu będzie skierowana na komitet stały Rady Ministrów. (Dzwonek) Panie marszałku, postaram się szybko skończyć. Wierzę, że ustawa pomocowa, która ma pomóc beneficjentom, którzy padli ofiarami nieuczciwych praktyk wykonawców, firm, które wyłudzały od nich pieniądze, w przyszłym tygodniu trafi na komitet stały Rady Ministrów, potem na Radę Ministrów i potem będziemy nad nią pracować, mam nadzieję szybko, w Sejmie. Tak, prace trwały chwilę, ale to jest trudny temat, ponieważ program został tak skonstruowany przez naszych poprzedników, że dzisiaj odpowiedzialność za jego zrealizowanie nie leży na firmie wykonawczej, która na starych zasadach mogła być jednocześnie pełnomocnikiem rodziny. Fundusz bezpośrednio przelewał takim firmom pieniądze, a one znikały. Nie ma możliwości ich ścigania, tylko trzeba ścigać beneficjenta, czyli rodzinę. W tym programie odwracamy całe myślenie. To jest trudny zabieg prawny, który musiał być precyzyjnie uzgodniony z Ministerstwem Sprawiedliwości. Chodzi o to, by był bezpieczny i dla rodzin, i dla państwa, żeby pozwolił nam ścigać sprawców takich wyłudzeń, nieuczciwych wykonawców, a jednocześnie np. wstrzymać egzekucję. Dziś wojewódzkie fundusze nie mają takiej możliwości, żeby bezpośrednio wstrzymać egzekucję od pokrzywdzonej rodziny i przejąć dochodzenie wierzytelności, dochodzenie roszczeń. Myślę, że wkrótce będziemy pracować nad tym w Sejmie. Padały tu różne kwoty, jeśli chodzi o ˝Czyste powietrze˝. Rocznie przeznaczamy na ten program, szanowni państwo, 6 mld zł. I nie jest prawdą, że program stanął, umarł, nie funkcjonuje. Powtórzę to, co powiedziałam na wstępie: przez 2 lata poprawiliśmy efektywność energetyczną w ponad 556 tys. domach jednorodzinnych w Polsce, a nieefektywne źródła ciepła wymieniliśmy skutecznie w ponad 466 tys. Wicemarszałek Piotr Zgorzelski: Proponuję, pani minister, na resztę odpowiedzieć na piśmie. Minister Klimatu i Środowiska Paulina Hennig Kloska: Tak, na resztę odpowiemy na piśmie. Nie zatrzymujemy się, pracujemy dalej. Dziękuję za współpracę, już przez ponad 2 lata. Będziemy współpracować dalej, by zmieniać Polskę, tak jak państwu pokazywałam na przykładzie stermomodernizowanego Specjalnego Ośrodka Szkolno-Wychowawczego nr 2 w Gnieźnie. Tak sprawiamy, że Polska jest po prostu piękniejsza i żyje się w niej lepiej. Dziękuję bardzo. (Oklaski) Przebieg posiedzenia

Otwórz zachowany oryginał · Źródło urzędowe

Dowód treści wypowiedzi

Dowód kolejności na liście dnia

Kontekst w stenogramie

  1. Wcześniej · wypowiedź 96 Wiesław Krajewski 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 12. punkt porządku dziennego: Informacja bieżąca. Poseł Wiesław Krajewski: Panie Marszałku! Wysoka Izbo! Panie Minister! Rząd od miesięcy chwali się miliardami złotych przeznaczonych na t
  2. Wcześniej · wypowiedź 97 Barbara Oliwiecka 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 12. punkt porządku dziennego: Informacja bieżąca. Poseł Barbara Oliwiecka: Panie Marszałku! Pani Ministro! Wysoka Izbo! Bardzo dziękuję za tę debatę o działaniach resortu Ministerstwa Kli
  3. Później · wypowiedź 99 Fryderyk Sylwester Kapinos 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 12. punkt porządku dziennego: Informacja bieżąca. Poseł Fryderyk Sylwester Kapinos (tekst niewygłoszony): Pytania Panie Ministrze! Czy ministerstwo uważa za właściwe, że miliardy złotych
  4. Później · wypowiedź 100 Dorota Marek 10. kadencja, 60. posiedzenie, 2. dzień (18-06-2026) 12. punkt porządku dziennego: Informacja bieżąca. Poseł Dorota Marek (tekst niewygłoszony): Pytania Transformacja energetyczna i programy realizowane przez ministerstwo oraz fundusze ochr
1. (2.15ms; exec 2.12 + fetch 0.03; rows 1) SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, d…
2. (0.8ms; exec 0.79 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
3. (0.54ms; exec 0.53 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6239 ORDER BY ordinal
4. (0.72ms; exec 0.7 + fetch 0.02; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (0.66ms; exec 0.65 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (0.61ms; exec 0.6 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (0.63ms; exec 0.62 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6237 ORDER BY ordinal
8. (0.78ms; exec 0.77 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (0.56ms; exec 0.55 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (0.46ms; exec 0.45 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6238 ORDER BY ordinal
11. (0.73ms; exec 0.72 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (0.78ms; exec 0.76 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (0.61ms; exec 0.6 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6240 ORDER BY ordinal
14. (0.82ms; exec 0.81 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
15. (0.7ms; exec 0.69 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
16. (0.42ms; exec 0.42 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6241 ORDER BY ordinal
17. (1.99ms; exec 1.99 + fetch 0.01; rows 0) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_vote…
toggle
1. (2.15ms; exec 2.12 + fetch 0.03; rows 1) SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, day.object_id AS day_id, day.term, day.proceeding_number, day.source_date, day.current_revision_id AS day_revision_id, dayStatement.ordinal, dayEvidence.id AS list_evidence_id, dayEvidence.selector_type AS list_selector_type, dayEvidence.selector AS list_selector, dayFetch.id AS list_fetch_id, dayFetch.requested_url AS list_source_url, dayArtifact.sha256 AS list_sha256, binding.artifact_id, binding.evidence_id AS transcript_evidence_id, transcriptEvidence.selector_type AS transcript_selector_type, transcriptEvidence.selector AS transcript_selector, transcriptFetch.id AS transcript_fetch_id, transcriptFetch.requested_url AS transcript_source_url, artifact.sha256 AS transcript_sha256, artifact.detected_mime, artifact.byte_size FROM sejm_statements s JOIN sejm_transcript_days day ON day.object_id = s.transcript_day_id LEFT JOIN sejm_mp_identities mp ON mp.term = day.term AND mp.mp_number = s.source_member_id LEFT JOIN sejm_transcript_day_statements dayStatement ON dayStatement.day_id = day.object_id AND dayStatement.day_revision_id = day.current_revision_id AND dayStatement.statement_id = s.object_id LEFT JOIN evidence dayEvidence ON dayEvidence.id = dayStatement.evidence_id LEFT JOIN fetches dayFetch ON dayFetch.id = dayEvidence.fetch_id LEFT JOIN artifacts dayArtifact ON dayArtifact.id = dayEvidence.artifact_id LEFT JOIN documents document ON document.owner_object_id = day.object_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', s.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL LEFT JOIN evidence transcriptEvidence ON transcriptEvidence.id = binding.evidence_id LEFT JOIN fetches transcriptFetch ON transcriptFetch.id = transcriptEvidence.fetch_id LEFT JOIN artifacts artifact ON artifact.id = binding.artifact_id WHERE s.object_id = 16238 LIMIT 1
2. (0.8ms; exec 0.79 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 17034 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
3. (0.54ms; exec 0.53 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6239 ORDER BY ordinal
4. (0.72ms; exec 0.7 + fetch 0.02; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcript_day_statements dayStatement JOIN sejm_statements statement ON statement.object_id = dayStatement.statement_id WHERE dayStatement.day_id = 16139 AND dayStatement.day_revision_id = 15745 AND dayStatement.ordinal BETWEEN 96 AND 100 AND statement.object_id <> 16238 ORDER BY dayStatement.ordinal
5. (0.66ms; exec 0.65 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 96) LIMIT 1
6. (0.61ms; exec 0.6 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 17032 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
7. (0.63ms; exec 0.62 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6237 ORDER BY ordinal
8. (0.78ms; exec 0.77 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 97) LIMIT 1
9. (0.56ms; exec 0.55 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 17033 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
10. (0.46ms; exec 0.45 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6238 ORDER BY ordinal
11. (0.73ms; exec 0.72 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 99) LIMIT 1
12. (0.78ms; exec 0.76 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 17046 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
13. (0.61ms; exec 0.6 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6240 ORDER BY ordinal
14. (0.82ms; exec 0.81 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 100) LIMIT 1
15. (0.7ms; exec 0.69 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 17047 AND run.state = 'completed' ORDER BY CASE extraction.quality_state WHEN 'success' THEN 0 WHEN 'unreadable' THEN 1 ELSE 2 END, run.finished_at DESC, extraction.id DESC LIMIT 1
16. (0.42ms; exec 0.42 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 6241 ORDER BY ordinal
17. (1.99ms; exec 1.99 + fetch 0.01; rows 0) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_votes vote ON vote.object_id = individual.vote_id AND vote.current_revision_id = individual.vote_revision_id JOIN object_revisions revision ON revision.id = vote.current_revision_id JOIN evidence e ON e.id = individual.evidence_id JOIN fetches f ON f.id = e.fetch_id WHERE vote.term = 10 AND vote.sitting_number = 60 AND individual.mp_number = 128 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-06-18' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
Top slow:
2.15ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
1.99ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
0.82ms SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.documen…
toggle
2.15ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.object_id AS member_id, day.object_id AS day_id, day.term, day.proceeding_number, day.source_date, day.current_revision_id AS day_revision_id, dayStatement.ordinal, dayEvidence.id AS list_evidence_id, dayEvidence.selector_type AS list_selector_type, dayEvidence.selector AS list_selector, dayFetch.id AS list_fetch_id, dayFetch.requested_url AS list_source_url, dayArtifact.sha256 AS list_sha256, binding.artifact_id, binding.evidence_id AS transcript_evidence_id, transcriptEvidence.selector_type AS transcript_selector_type, transcriptEvidence.selector AS transcript_selector, transcriptFetch.id AS transcript_fetch_id, transcriptFetch.requested_url AS transcript_source_url, artifact.sha256 AS transcript_sha256, artifact.detected_mime, artifact.byte_size FROM sejm_statements s JOIN sejm_transcript_days day ON day.object_id = s.transcript_day_id LEFT JOIN sejm_mp_identities mp ON mp.term = day.term AND mp.mp_number = s.source_member_id LEFT JOIN sejm_transcript_day_statements dayStatement ON dayStatement.day_id = day.object_id AND dayStatement.day_revision_id = day.current_revision_id AND dayStatement.statement_id = s.object_id LEFT JOIN evidence dayEvidence ON dayEvidence.id = dayStatement.evidence_id LEFT JOIN fetches dayFetch ON dayFetch.id = dayEvidence.fetch_id LEFT JOIN artifacts dayArtifact ON dayArtifact.id = dayEvidence.artifact_id LEFT JOIN documents document ON document.owner_object_id = day.object_id AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', s.statement_number) LEFT JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) LEFT JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL LEFT JOIN evidence transcriptEvidence ON transcriptEvidence.id = binding.evidence_id LEFT JOIN fetches transcriptFetch ON transcriptFetch.id = transcriptEvidence.fetch_id LEFT JOIN artifacts artifact ON artifact.id = binding.artifact_id WHERE s.object_id = 16238 LIMIT 1
1.99ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_votes vote ON vote.object_id = individual.vote_id AND vote.current_revision_id = individual.vote_revision_id JOIN object_revisions revision ON revision.id = vote.current_revision_id JOIN evidence e ON e.id = individual.evidence_id JOIN fetches f ON f.id = e.fetch_id WHERE vote.term = 10 AND vote.sitting_number = 60 AND individual.mp_number = 128 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-06-18' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
0.82ms SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = 'html' AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = 16139 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 100) LIMIT 1
N+1 candidates:
5× (3.45ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (2.66ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (2.99ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (3.45ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = ? AND run.state = ? ORDER BY CASE extraction.quality_state WHEN ? THEN ? WHEN ? THEN ? ELSE ? END, run.finished_at DESC, extraction.id DESC LIMIT ?
5× (2.66ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (2.99ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.object_id AND version.sequence_no = (SELECT MAX(latest.sequence_no) FROM document_versions latest WHERE latest.document_id = document.object_id) JOIN document_version_artifacts binding ON binding.version_id = version.object_id AND binding.role = ? AND binding.current_selector_sha IS NOT NULL WHERE document.owner_object_id = ? AND document.document_kind = ? AND document.source_document_key = CONCAT(?, ?) LIMIT ?
PHP: 19.4ms | App: 19.2ms | DB: 14ms (17, rows: 19) [exec: 13.8ms, fetch: 0.2ms] | View: 0.4ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.41ms) /app/templates/speeches/show.php
/app/public/index.php
/app/vendor/autoload.php
/app/vendor/composer/autoload_real.php
/app/vendor/composer/platform_check.php
/app/vendor/composer/ClassLoader.php
/app/vendor/composer/autoload_static.php
/app/vendor/symfony/deprecation-contracts/function.php
/app/vendor/symfony/polyfill-php83/bootstrap.php
/app/lib/PFrame.php
/app/config/credentials/local.php
/app/src/Http/PublicResponseCache.php
/app/src/Http/AuthRoutes.php
/app/src/Http/ReviewDecisionRoutes.php
/app/src/Http/TopicDecisionRoutes.php
/app/src/Http/WatchRoutes.php
/app/src/Http/SpeechController.php
/app/src/Overview/SpeechReadModel.php
/app/src/Text/TextSearch.php
/app/templates/layout.php