Stenogram Sejmu · 2026-07-30

Janusz Cichoń

Kadencja 10 · posiedzenie 63 · wypowiedź 2

Profil posła

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

Pełna wypowiedź

10. kadencja, 63. posiedzenie, 2. dzień (30-07-2026) 14., 15. i 16. punkt porządku dziennego: 14. Sprawozdanie Komisji Finansów Publicznych w sprawie sprawozdania z wykonania budżetu państwa za okres od dnia 1 stycznia do dnia 31 grudnia 2025 r. wraz z przedstawioną przez Najwyższą Izbę Kontroli analizą wykonania budżetu państwa i założeń polityki pieniężnej w 2025 r. oraz komisyjnym projektem uchwały w przedmiocie absolutorium (druki nr 2629, 2681 i 2817). 15. Sprawozdanie z działalności Narodowego Banku Polskiego w 2025 roku wraz ze sprawozdaniem Komisji Finansów Publicznych (druki nr 2627 i 2687). 16. Sprawozdanie Komisji Finansów Publicznych o przedstawionej przez Prezesa Rady Ministrów Informacji o poręczeniach i gwarancjach udzielonych w 2025 roku przez Skarb Państwa, niektóre osoby prawne oraz Bank Gospodarstwa Krajowego (druki nr 2582 i 2718). Poseł Sprawozdawca Janusz Cichoń: Szanowny Panie Marszałku! Panie i Panowie Ministrowie! Wysoka Izbo! Polski produkt krajowy brutto wzrósł w 2025 r. realnie o 3,6%. Polska była jedną z najszybciej rozwijających się gospodarek Europy. Działo się to mimo wyjątkowo niesprzyjającego otoczenia: trwającej od ponad 3 lat stagnacji gospodarczej i przemysłowej recesji u największego partnera handlowego, naszego partnera handlowego - Niemiec, toczącej się w bezpośrednim sąsiedztwie wojny w Ukrainie, a także wywierających negatywny wpływ na całą gospodarkę światową zmian w polityce handlowej USA, dążenia do znacznego wzrostu ceł, wzrastającego protekcjonizmu, używanego również, nawiasem mówiąc, w celach politycznych. Odbiło się to niewątpliwie na skłonności do inwestowania. Niska stopa inwestycji, wyższa co prawda niż w latach poprzednich, to powód do niepokoju, ale liczymy, że wzrost stopy inwestycji publicznych pociągnie za sobą także inwestycje prywatne. Głównym motorem wzrostu gospodarczego Polski pozostawał popyt krajowy, który zwiększył się o 4,2%, w tym spożycie publiczne wzrosło o 5,3%, a spożycie w sektorze gospodarstw domowych - o 3,7%. Po kilkuletnim okresie podwyższonej dynamiki cen i utrzymywania się wysokich oczekiwań inflacyjnych inflacja powróciła w drugiej połowie roku do celu ustalonego przez bank centralny, co pozwoliło na dokonanie serii obniżek stóp procentowych. Na rynku pracy utrzymywała się dobra sytuacja. Według metodologii Eurostatu Polska wraz z Maltą miały najniższą stopę bezrobocia w Unii Europejskiej. Wynosiła ona 3,1%. Jednocześnie krajowa stopa bezrobocia rejestrowanego wzrosła do 5,7%, głównie na skutek zmian legislacyjnych rozszerzających krąg osób uprawnionych do rejestracji jako bezrobotnych. Konsekwencją szybkiego wzrostu popytu krajowego i importu w warunkach utrudnień dla wzrostu eksportu - mieliśmy do czynienia ze wzmocnieniem złotego, z protekcjonizmem, o czym mówiłem wcześniej, ale także ze wzrostem, choć w niskim tempie, naszych partnerów - stały się spadek dodatniego salda handlowego, a w ślad za nim pojawienie się ujemnego salda obrotów bieżących bilansu płatniczego. To niepokojące, ale nie stanowi zagrożenia dla stabilności finansowej Polski. Z punktu widzenia stabilności finansowej poważniejszym problemem były utrzymywanie się wysokiego deficytu finansów publicznych, a w ślad za tym szybki wzrost zadłużenia publicznego. Poziom długu mierzony według metody stosowanej przez Unię Europejską do oceny wypełniania wymogów paktu stabilności i wzrostu sięgnął blisko 60% PKB, choć mierzony według metody krajowej był o ok. 10 punktów procentowych niższy. Wykazywany według metody unijnej dług sektora instytucji rządowych i samorządowych wyniósł 2,335 bln zł i był o 421,6 mld zł wyższy niż państwowy dług publiczny obliczany zgodnie z metodologią krajową. Dynamiczny wzrost relacji długu publicznego do PKB, czasowo wyhamowany w latach 2022-2023 dzięki inflacji, nawiasem mówiąc, ma swoje źródło w dynamicznym wzroście transferów socjalnych w latach 2016-2019, które nie znajdowały pokrycia w dochodach, i silnym wzroście wydatków na obronę i ochronę zdrowia. W rezultacie tego w ciągu ostatnich lat nastąpił wyraźny wzrost niezrównoważenia finansów publicznych. Obecny poziom zadłużenia, choć rosnący, na co warto zwrócić uwagę, nie tworzy w perspektywie najbliższych lat zagrożenia kryzysem, wymaga jednak skutecznych działań na rzecz ograniczenia wzrostu zadłużenia. Brak takich działań może doprowadzić do obniżenia ratingu Polski, osłabienia złotego i dalszego wzrostu kosztów obsługi zadłużenia. Ogólna sytuacja finansów publicznych w 2025 r. pozwala na wyciągnięcie kilku wniosków. Po pierwsze, w ciągu 2025 r. nastąpił dalszy wzrost stopy niezrównoważenia finansów publicznych, mierzony zwiększeniem się deficytu sektora instytucji rządowych i samorządowych z 6,4% do 7,3% PKB. Jest to poziom bardzo wysoki z punktu widzenia wymogów paktu stabilności i wzrostu, ale przede wszystkim z punktu widzenia długoterminowej stabilności polskich finansów publicznych. Należy zauważyć, że po wyeliminowaniu powszechnego w latach 2020-2023 zjawiska ukrywania rzeczywistej sytuacji finansów publicznych poprzez przesuwanie deficytu z budżetu państwa do budżetów innych instytucji publicznych, przeprowadzone w 2024-2025 r. zmiany spowodowały, że budżet państwa odzyskał swoją rolę informacyjną, pokazującą rzeczywisty stan niezbilansowania finansów publicznych. Po drugie, pogłębienie się deficytu sektora instytucji rządowych i samorządowych nastąpiło skutkiem wzrostu wydatków w 2025 r. o 1,7 punktu procentowego przy wzroście dochodów o 0,8 punktu procentowego. Ale warto zauważyć, że te nożyce rozwierają się od dłuższego czasu. Od 2026 r. wydatki sektora instytucji rządowych i samorządowych wzrosły aż o 9,8 punktu procentowego w relacji do PKB przy wzroście dochodu o 4,9 punktu procentowego. Ważne jest także to, że wzrosła znacząco relacja długu sektora instytucji rządowych i samorządowych do PKB z 54,8% w końcu 2024 r. do 59,7% w końcu roku 2025. Było to konsekwencją kształtowania się od wielu lat wysokiego deficytu finansów publicznych. Jeśli chodzi o dochody budżetu państwa, to wyniosły one w 2025 r. 594,5 mld zł i były o 38,3 mld zł niższe od wielkości zaplanowanej w ustawie budżetowej. Głównym powodem słabszego wykonania dochodów były mniej korzystne od zakładanych warunki makroekonomiczne, ale przede wszystkim niższa inflacja oraz wolniejszy wzrost nominalnych podstaw opodatkowania. Nominalny wzrost wyniósł 6,6%, a inflacja konsumencka osiągnęła 3,6%, podczas gdy w ustawie budżetowej przyjęto założenie, że będzie wynosiła 5%. To ograniczyło i wartość sprzedaży, i dochody i zyski, także będące podstawą opodatkowania. Dochody podatkowe były głównym źródłem dochodów budżetowych. Największe odchylenie, jeśli chodzi o plan i wykonanie, nastąpiło w przypadku podatku VAT, z którego wpływy były o 8% niższe od prognozowanych. Z całą mocą podkreślam jednak to, że dochody z VAT wzrosły w porównaniu z rokiem poprzednim o 11,8%. Wzrosły, bo były wspierane przez wcześniejsze działania uszczelniające system podatkowy, co także warto podkreślić. Luka VAT według szacunków Ministerstwa Finansów zmniejszyła się w 2025 r. do 4,9%. Dochody z podatków dochodowych również okazały się niższe od planowanych, ale kluczowa była tutaj kwestia przesunięcia środków z podatku dochodowego na skutek reformy finansowania jednostek samorządu terytorialnego właśnie do samorządów. Niższe od planowanych okazały się też dochody z akcyzy, które były mniejsze o 5,7%. Pozytywnie wyróżniły się natomiast dochody niepodatkowe, które przekroczyły plan o 7,1%. Był to efekt wyższych od oczekiwań wpływów z dywident, wypłat, zysku spółek z udziałem Skarbu Państwa, a także wyższych dochodów z ceł i wyższych dochodów odsetkowych. Jeśli chodzi o wydatki, to zostały one wykonane w wysokości 870 mld zł, co oznacza poziom o 51,4 mld zł niższy od planowanego w ustawie budżetowej. W porównaniu z 2024 r. wydatki wzrosły o 35,9 mld zł, tj. o 4,3%, i stanowiły 22,2% PKB. To potwierdza utrzymywanie się wysokiej aktywności państwa w finansowaniu kluczowych zadań publicznych. Największe środki skierowano na ochronę zdrowia, której finansowanie osiągnęło rekordowy poziom 232 mld zł. W ramach tych nakładów budżet państwa przekazał do Narodowego Funduszu Zdrowia prawie 33 mld zł dotacji podmiotowej na finansowanie świadczeń zdrowotnych, czyli znacznie więcej, niż pierwotnie planowano. Istotnym priorytetem pozostała również obronność. Łączne nakłady na obronę narodową wraz z wydatkami Funduszu Wsparcia Sił Zbrojnych wyniosły 169,4 mld zł, utrzymując Polskę wśród państw przeznaczających najwyższy odsetek środków publicznych na bezpieczeństwo. Znaczną część wydatków stanowiły programy społeczne. Na realizację programu ˝Rodzina 800+˝ przeznaczono prawie 63 mld zł, a na wypłaty emerytur trzynastej i czternastej - prawie 30 mld zł. Ważnym nowym instrumentem wsparcia była tzw. renta wdowia, na którą wydano 3,8 mld zł. Kontynuowano także realizację świadczeń wspierających dla osób z niepełnosprawnościami, na które przeznaczono 8,8 mld zł. Rozwijano politykę wspierania rodzin i aktywności zawodowej rodziców. Na program ˝Aktywny rodzic˝ wydatkowano 6,2 mld zł, finansując świadczenie aktywni rodzice w pracy. Dodatkowo budżet sfinansował i pokrył koszty tzw. wakacji składkowych dla przedsiębiorców - 2,9 mld zł - i składki na ubezpieczenia społeczne za osoby korzystające z urlopów wychowawczych i macierzyńskich w kwocie 4,2 mld zł. Duże środki przeznaczono także na inwestycje rozwojowe. Na realizację programów infrastruktury drogowej i kolejowej wydatkowano 16,5 mld zł z budżetu, natomiast nakłady na mieszkalnictwo osiągnęły wysokość 4,7 mld zł. Warto też przypomnieć, że finansowaliśmy in vitro. Znaczącą pozycją wydatkową pozostały koszty obsługi zadłużenia publicznego. Obsługa długu Skarbu Państwa kosztowała 72,8 mld zł. Dodatkowo na obsługę i wykup zobowiązań Polskiego Funduszu Rozwoju oraz Funduszu Przeciwdziałania COVID-19 przeznaczono odpowiednio 34,7 mld zł i 21,6 mld zł. Podsumowując, powiem, że wykonanie wydatków budżetu państwa w 2025 r. koncentrowało się na finansowaniu ochrony zdrowia, obronności, systemu emerytalnego i programów społecznych. Komisja Finansów Publicznych w trakcie swoich prac omawiała sprawozdanie w zakresie własnych części, a także otrzymała 26 opinii od innych komisji. Były to opinie pozytywne, niemniej dwie komisje w swoich opiniach zawarły oceny zarówno pozytywne, jak i negatywne. Skupiając się na tych ostatnich, chciałbym wskazać, że Komisja Edukacji i Nauki negatywnie zaopiniowała sprawozdanie z wykonania budżetu w 2025 r. w zakresie części budżetowej 90: Akademia Kopernikańska. Postawiła ona dwa zarzuty. Pierwszy dotyczył tego, że akademia nie realizowała zadań przewidzianych dla niej w ustawie, a drugi zarzut związany był z tym, że większość wydatków akademii przeznaczono na wynagrodzenia. Kolejne wnioski negatywne złożyła Komisja Sprawiedliwości i Praw Człowieka, która negatywnie zaopiniowała wykonanie budżetu (Dzwonek) w odniesieniu do trzech części budżetowych: Trybunał Konstytucyjny, Instytut Pamięci Narodowej i Krajowa Rada Sądownictwa. Jeśli chodzi o opinię NIK, to wysłuchamy pewnie za moment wystąpienia pana prezesa, ale zwrócę uwagę na to, że NIK sformułowała w większości pozytywne opinie dotyczące wykonania budżetu w poszczególnych częściach. Te pozytywne opinie stanowiły 83,6% wszystkich ocen. To zdecydowanie większy odsetek niż w latach poprzednich, co niewątpliwie świadczy o poprawie dyscypliny finansów publicznych. Głosowanie nad wnioskami zgłoszonymi przez komisje sejmowe odbyło się 16 lipca. Komisja Finansów Publicznych w wyniku głosowań przyjęła projekt uchwały i proponuje Wysokiej Izbie w punkcie I przyjęcie sprawozdania z wykonania budżetu za okres od 1 stycznia do 31 grudnia 2025 r.; w punkcie II - udzielenie Radzie Ministrów absolutorium za ten okres; w punkcie III proponuje, by Sejm zwrócił uwagę na nieprawidłowości w wykonaniu budżetu państwa w odniesieniu do części budżetowej: Trybunał Konstytucyjny, Instytut Pamięci Narodowej, Krajowa Rada Sądownictwa oraz części 90: Akademia Kopernikańska; w punkcie IV Sejm zwraca się także do innych dysponentów poszczególnych części budżetowych o podjęcie działań mających na celu usunięcie nieprawidłowości wskazanych przez Najwyższą Izbę Kontroli. 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ź 0 Marszałek 10. kadencja, 63. posiedzenie, 2. dzień (30-07-2026) (Wznowienie posiedzenia o godz. 9 min 04) (Na posiedzeniu przewodniczą wicemarszałkowie Sejmu Krzysztof Bosak, Dorota Niedziela i Szymon Hołownia) Wicemarszałek Krzysztof Bosak: Dzień dob
  2. Wcześniej · wypowiedź 1 Mirosław Adam Orliński 10. kadencja, 63. posiedzenie, 2. dzień (30-07-2026) Sekretarz Poseł Mirosław Adam Orliński: Wysoka Izbo! Informuję, że dziś odbędą się posiedzenia Komisji: - Gospodarki Morskiej i Żeglugi Śródlądowej - godz. 9, - do Spraw Petycji - godz. 9
  3. Później · wypowiedź 3 Mariusz Haładyj 10. kadencja, 63. posiedzenie, 2. dzień (30-07-2026) 14., 15. i 16. punkt porządku dziennego: 14. Sprawozdanie Komisji Finansów Publicznych w sprawie sprawozdania z wykonania budżetu państwa za okres od dnia 1 stycznia do dnia 31 grudnia 20
  4. Później · wypowiedź 4 Artur Soboń 10. kadencja, 63. posiedzenie, 2. dzień (30-07-2026) 14., 15. i 16. punkt porządku dziennego: 14. Sprawozdanie Komisji Finansów Publicznych w sprawie sprawozdania z wykonania budżetu państwa za okres od dnia 1 stycznia do dnia 31 grudnia 20
1. (1.9ms; exec 1.86 + fetch 0.04; 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.85ms; exec 0.84 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
3. (1.62ms; exec 1.61 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2887 ORDER BY ordinal
4. (1.22ms; exec 1.2 + fetch 0.02; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (1.17ms; exec 1.15 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (0.99ms; exec 0.97 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (2.62ms; exec 2.43 + fetch 0.19; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2885 ORDER BY ordinal
8. (1.2ms; exec 1.19 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (0.89ms; exec 0.87 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (0.53ms; exec 0.52 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2886 ORDER BY ordinal
11. (0.94ms; exec 0.93 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (0.69ms; exec 0.68 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (0.55ms; exec 0.54 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2888 ORDER BY ordinal
14. (1.09ms; exec 1.07 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
15. (0.86ms; exec 0.85 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
16. (0.62ms; exec 0.6 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2889 ORDER BY ordinal
17. (2.26ms; exec 2.24 + fetch 0.02; rows 0) SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes individual JOIN sejm_vote…
toggle
1. (1.9ms; exec 1.86 + fetch 0.04; 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 = 12233 LIMIT 1
2. (0.85ms; exec 0.84 + 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 = 11212 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. (1.62ms; exec 1.61 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2887 ORDER BY ordinal
4. (1.22ms; exec 1.2 + 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 = 12230 AND dayStatement.day_revision_id = 11798 AND dayStatement.ordinal BETWEEN 0 AND 4 AND statement.object_id <> 12233 ORDER BY dayStatement.ordinal
5. (1.17ms; exec 1.15 + 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 = 12230 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 0) LIMIT 1
6. (0.99ms; exec 0.97 + 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 = 11210 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. (2.62ms; exec 2.43 + fetch 0.19; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2885 ORDER BY ordinal
8. (1.2ms; exec 1.19 + 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 = 12230 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 1) LIMIT 1
9. (0.89ms; exec 0.87 + 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 = 11211 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.53ms; exec 0.52 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2886 ORDER BY ordinal
11. (0.94ms; exec 0.93 + 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 = 12230 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 3) LIMIT 1
12. (0.69ms; exec 0.68 + 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 = 11213 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.55ms; exec 0.54 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2888 ORDER BY ordinal
14. (1.09ms; exec 1.07 + 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 = 12230 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 4) LIMIT 1
15. (0.86ms; exec 0.85 + 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 = 11220 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.62ms; exec 0.6 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 2889 ORDER BY ordinal
17. (2.26ms; exec 2.24 + fetch 0.02; 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 = 63 AND individual.mp_number = 49 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-30' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
Top slow:
2.62ms SELECT source_text FROM text_segments WHERE extraction_id = 2885 ORDER BY ordinal
2.26ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
1.9ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
toggle
2.62ms SELECT source_text FROM text_segments WHERE extraction_id = 2885 ORDER BY ordinal
2.26ms 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 = 63 AND individual.mp_number = 49 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-30' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
1.9ms 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 = 12233 LIMIT 1
N+1 candidates:
5× (4.28ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (5.94ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (4.4ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (4.28ms) 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× (5.94ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (4.4ms) 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: 27.7ms | App: 27.4ms | DB: 20ms (17, rows: 19) [exec: 19.5ms, fetch: 0.4ms] | View: 0.6ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.61ms) /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