Stenogram Sejmu · 2026-07-02

Aleksandra Gajewska

Kadencja 10 · posiedzenie 61 · wypowiedź 219

Profil posła

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

Pełna wypowiedź

10. kadencja, 61. posiedzenie, 2. dzień (02-07-2026) 11. punkt porządku dziennego: Pierwsze czytanie rządowego projektu ustawy o zmianie ustawy o opiece nad dziećmi w wieku do lat 3 oraz niektórych innych ustaw (druk nr 2698). Sekretarz Stanu w Ministerstwie Rodziny, Pracy i Polityki Społecznej Aleksandra Gajewska: Bardzo dziękuję. Pani Marszałek! Wysoka Izbo! Bardzo dużo wątków pojawiło się w tej dyskusji. Będę się starała kompleksowo, szczegółowo odpowiadać. Jeżeli coś pominę, to oczywiście jestem do dyspozycji, tak jak zawsze, w ramach indywidualnych rozmów czy podczas posiedzenia komisji. Absolutnie nie mam takiego poczucia, że muszę udowadniać, że my w tym aspekcie, o którym mówię, jesteśmy skuteczni, i że ja potrzebuję jakiegokolwiek poklasku i uznania od państwa. Mam przekonanie, że dane i liczby same się bronią. Kiedy państwo jadą w teren - a z częścią z państwa, akurat tutaj nieobecną na sali, mam ogromną przyjemność pracować w terenie - to państwo widzą, jak to, co robimy, jak ta polityka i te programy, które wdrażamy, procentują właśnie w społeczności lokalnej. Nie mam najmniejszego problemu, żeby powiedzieć, że to są historycznie największe programy rozwoju opieki wczesnodziecięcej. (Oklaski) To ma potwierdzenie w danych, w liczbach i w kwotach. Nie mam poczucia, że muszę spierać się z państwem o to, kto wprowadził program ˝Maluch˝, bo wystarczy wpisać tę pozycję w Google i pokaże się, że ta ustawa powstała w 2011 r., wprowadził ją rząd PO-PSL. Był on kontynuowany przez rząd PiS-u, który dodał plusa w nazwie, a teraz jest kontynuowany przez rząd Donalda Tuska. Uważam, że tak powinna być realizowana konsekwentna polityka rodzinna, która daje rodzicom gwarancję i poczucie bezpieczeństwa. Nie rozumiem tego państwa zacięcia, żeby wychodzić i licytować się na to, bo to jest zakłamywanie rzeczywistości. Nie wymyśliliście państwo tego programu. Kontynuowaliście ten program. My dalej go realizujemy, bo uważamy, że jest dobry, ale dokładamy do niego niezbędne elementy, które po 15 latach, jak uważamy, są odpowiedzią na współczesne potrzeby rodziców, rodzin, zwłaszcza w lokalnych społecznościach. Jeśli mowa o liczbach, to co 1,5 dnia powstaje nowe miejsce opieki żłobkowej. Chodzi albo o żłobek, albo o klub dziecięcy, albo właśnie o dziennego opiekuna. To widać w terenie, w najmniejszych miejscowościach, w tych najdalej oddalonych od centrum Polski, tam, gdzie nigdy nie występowało takie wsparcie dla rodzin. Widać to w poziomie użłobkowienia, który wzrósł z 36% do 54%. Kontynuujemy działania. Białe plamy to te miejscowości, w których nigdy nie było takiej opieki. 1105 gmin nie miało dostępu do tych usług. To było 44%. Dzisiaj jest ich o 467 mniej. Niech państwo to sobie zwerbalizują i jakoś wyobrażą. Po raz pierwszy w historii utworzyliśmy takie usługi w prawie 500 gminach. Stworzyliśmy do nich dostęp. To jest zmiana jakościowa. Nie stworzyliśmy tego poprzez działania samorządu, który musiał samodzielnie to zrealizować własnym kosztem. W pełni sfinansowaliśmy te działania. Mówiłam pani Szczurek-Żelazko, żeby nie zadawała tego pytania, bo będę musiała odpowiedzieć. Państwo nie realizowali tych inwestycji z KPO, bo KPO za państwa czasów było zablokowane. (Gwar na sali) Podpisaliście 400 umów. Poziom realizacji wynosił 1%. (Głos z sali: Co to za...) Naprawdę proszę, żebyście państwo ważyli to, co państwo tu mówicie. Wystarczy kliknąć, znaleźć trochę danych i je zweryfikować. To są dane GUS-u, to są dane samorządowe. To po prostu widać. To, co najczęściej pojawiało się w tej dyskusji, bardzo się cieszę, że o tym dyskutujemy, to koszty i odpowiedzialność. Czuję na sobie odpowiedzialność za jakość opieki i budowanie zaufania do placówki. Chcę gwarantować rodzicowi, że jeżeli pozostawi swoje roczne dziecko pod czyjąś opieką, to ministerstwo zrobi wszystko, co może - nie widzę pana posła Skalika - żeby standardy jakości były jednolicie określone niezależnie od tego, czy dziecko chodzi do żłobka w dużym mieście, czy do punktu dziennej opieki w najmniejszej gminie wiejskiej. Czuję tę odpowiedzialność, dlatego my nie pozostawiamy samorządów z kosztami. Inwestycje żłobkowe realizowane są ze środków z programu ˝Aktywny maluch˝. Powstające punkty dziennej opieki są w pełni finansowane ze środków z programu ˝Aktywny dzienny opiekun w gminie˝. Dajemy każdej gminie 300 tys. zł na stworzenie takiego miejsca, dostosowanie sali, wyposażenie tych przestrzeni i jeszcze ok. 9,5 tys. zł miesięcznie na utrzymanie go. Samorządowiec nie ma cienia ryzyka, kiedy podejmuje decyzję o tym, że chciałby stworzyć takie miejsce opieki. Punkt dziennej opieki właśnie nie ma niższej jakości opieki. To, co jest dla mnie najistotniejsze, to standard i gwarancja jakości opieki. Po to wyznaczyliśmy to minimum. Po to inwestujemy w szkolenia. Szkolenia są realizowane z naszych środków na terenie tych gmin po to, żeby inwestować w lokalną społeczność, żeby zagwarantować rodzicom bezpieczeństwo. W punktach dziennej opieki są dokładnie takie same wymagania dotyczące kadry, która w niej pracuje. W instytucjonalnej opiece żłobkowej jest jeden opiekun na ośmioro dzieci. W punkcie dziennej opieki również tak jest, natomiast dlatego, że jest on mniejszy, jest tam osoba wspomagająca. Jeśli jedna osoba będzie chciała pójść do toalety, podgrzać jedzenie, to druga będzie opiekować się dziećmi. Zwiększamy bezpieczeństwo w punktach dziennej opieki. Zmieniamy to w tej ustawie. Regulujemy to, co powstało 15 lat temu, żeby odpowiadało współczesnym potrzebom. Co więcej, jeżeli chodzi o samorządowców i koszty, to w przypadku programu ˝Aktywny maluch˝, który ja zmieniłam z programu ˝Maluch+˝, dofinansowanie do jednego miejsca żłobkowego wynosiło 36 tys. zł, a ja zwiększyłam je do 57 tys. zł właśnie dlatego, że rozmawiam z samorządowcami, właśnie dlatego, że bywam w tych regionach i pracuję z nimi. Wiele programów, które potem wprowadziłam, wynikało właśnie z dialogu i partnerstwa z samorządami. Samorządowcy powiedzieli, że nie mają pieniędzy na wyposażenie placów zabaw. Powiedziałam: bardzo dobrze, ogłaszamy taki program. Dzięki temu 918 placów zabaw na terenie całego państwa zostało zmodernizowanych. 46 tys. miejsc powstało w żłobkach, które mają place zabaw, bo sfinansowaliśmy je w ramach programu ˝Aktywny maluch˝. 54% istniejących placówek zmodernizowało place zabaw zgodnie z potrzebami małych dzieci. W 695 placówkach dofinansowaliśmy stworzenie sal sensorycznych, by wspomagać rozwój dzieci. To znowu zostało sfinansowane z naszych środków. Jako ostatni pan poseł Kmita pytał, czy zdajemy sobie sprawę, ile to może kosztować, może 100 tys. Zdajemy sobie sprawę, bo pojechaliśmy do samorządów i rozmawialiśmy z samorządowcami. 918 placówek otrzymało 300 tys. zł, i to tylko w czasie 2 lat. Ogłaszamy kolejne programy. Nie nakładamy na nikogo obowiązków i nie wymagamy, żeby to zostało wprowadzone. My to dofinansowujemy, inwestujemy w ten system, wymagamy, ale dajemy możliwości, żeby spełnić te oczekiwania, żeby wypełnić dokładnie te standardy i przepisy. Państwo mnie pytają, jak to wyliczamy, jakie będą koszty. Te inwestycje już mają miejsce, my tylko stawiamy solidny fundament prawny, żeby to było realizowane i żeby określić te standardy. Jeśli pytacie mnie państwo, po co wprowadzamy standardy jakości opieki i np. tego, jak powinno wyglądać żywienie albo place zabaw, odpowiem: nie dlatego że w gminach nie ma kompetencji, tylko dlatego że wyznaczamy sobie takie niezbędne minimum, a potem inwestujemy w ludzi, którzy to robią, żeby oni robili to możliwie jak najlepiej. Właśnie dlatego, doceniając tych ludzi, którzy na co dzień pracują z dziećmi, przekazaliśmy im chociażby 1 tys. zł dodatku motywacyjnego do ich niskich wynagrodzeń - po to, żeby widzieli od razu, że pracujemy nad warunkami ich pracy. A ta ustawa wprowadza kolejne działania na ich rzecz, żeby ich docenić, żeby zwiększać ich kwalifikacje, żeby dawać im możliwości rozwojowe, żeby razem z nami tworzyli żłobki na nowo. Ci ludzie wiedzą, że pierwsze lata życia dziecka są najważniejsze, i razem z nami budują tę świadomość nie tylko w dużych miastach, ale przede wszystkim w najmniejszych gminach. To jest absolutnie mój osobisty priorytet. Państwo pytają, kiedy powstaną w tych gminach placówki. Każdego dnia nad tym pracuję i, tak jak państwu powiedziałam, każdego dnia mamy wyniki, bo powstają nowe miejsca opieki dla dzieci w gminach, w których nigdy tego nie było. Co drugi dzień powstaje placówka w gminie, która nigdy nie miała takiej usługi. Jesteśmy z tego dumni i jesteśmy wdzięczni za zaufanie, którym zostaliśmy obdarzeni przez samorządowców - samorządowców niezależnych, często z różnych ugrupowań, również reprezentujących państwa stronę polityczną. Pracujemy ramię w ramię na rzecz rodzin i dzieci i zwiększamy dostęp do tej opieki każdego dnia. Ale zwiększając dostęp do opieki, nie można zgubić jednej najważniejszej rzeczy: jakości tej opieki. Przyglądając się temu, co robiły inne państwa, nauczyliśmy się na ich błędach. Wiemy, że tego błędu w Polsce nie można popełnić, że nadszarpnięcie zaufania rodziców będzie czymś, na co ten system nie może sobie pozwolić. Dlatego tak dużo inwestujemy w jakość opieki. Dlatego tak dużo mówimy o świadomości, o samoregulacji dzieci, o towarzyszeniu im w rozwoju, o rozwoju kognitywnym, o tym, że muszą mieć infrastrukturę, która odpowiada ich potrzebom. Ale też towarzyszą dzieciom w tym osoby, które mają kompetencje, by rozwijać umiejętności społeczne i umiejętności przyszłościowe dzieci. Bo to jest inwestycja w najważniejszy moment rozwoju człowieka. Jak zbuduje się solidny fundament w pierwszych latach życia, później jest łatwiej nadbudowywać kolejne kompetencje. W ramach dialogu staram się państwu to powiedzieć i to pokazać. Po to przygotowaliśmy tę ustawę, tę nowelizację, która jest domknięciem reformy żłobkowej i tego systemu, w którym pracujemy. Mamy pozytywną opinię komisji wspólnej rządu i samorządu. Programy, które ogłaszamy i tworzymy, są wypracowane z samorządowcami i podmiotami, które prowadzą te działalności. Standardy jakości, monitoring, zwiększanie kompetencji - szkolenia są prowadzone przez organizacje pozarządowe, które funkcjonują lokalnie, przez najlepszych specjalistów w Polsce, ale i tych zagranicznych, którzy przyjeżdżają i przyglądają się temu, co robimy dobrze, a co jeszcze powinniśmy robić lepiej. Każdorazowo ogłaszamy kolejne programy, żeby to osiągnąć. Robimy to wspólnie, przede wszystkim w najmniejszych gminach. Tak więc chcę państwu powiedzieć, że regulujemy w tej ustawie wszystkie najważniejsze aspekty funkcjonowania żłobków na terenie całej Polski, by jakość opieki nie była determinowana zasobem finansowym samorządu, by kod pocztowy nie decydował o tym, czy dziecko ma opiekę dobrej jakości, czy w ogóle rodzic ma do niej dostęp. Zmieniamy to. Likwidujemy bariery poprzez ˝Aktywnego rodzica˝. Wspieramy też w ten sposób samorządy. Przecież państwo muszą rozumieć to, że ˝Aktywny rodzic˝ kierowany jest do organizatora opieki, czyli właśnie do gminy bądź przedsiębiorcy. W ten sposób na stałe finansujemy utrzymanie opieki i miejsc żłobkowych. Nie wierzę, że doświadczeni politycy tego nie rozumieją i zadają mi o to pytania. Każdym programem ˝Aktywny maluch˝ tworzymy nowe miejsca żłobkowe. Aktywny dzienny opiekun - tworzymy dzienne punkty opieki w gminach. Aktywne place zabaw - 300 tys. zł do każdego placu zabaw. Aktywne sale sensoryczne - 695 sal sensorycznych. Akademia Wsparcia - szkolimy ludzi, już 12 tys. osób zostało przeszkolonych. Wydaliśmy trzy podręczniki, które są praktycznym kompendium wiedzy. I to nie jest tak, że my w Warszawie wiemy cokolwiek lepiej. Nasza praca polega nad tym, że jesteśmy w terenie, że jesteśmy wśród tych ludzi, którzy na co dzień poświęcają się w swojej pracy najmłodszym dzieciom. Wykorzystujemy ich umiejętności, doświadczenia. Ale w tej ustawie chcemy też dodać prestiż do tego zawodu, zwiększyć godność opiekunki i opiekuna, docenić ich pracę, tak naprawdę trochę ukłonić się przed ich codzienną pracą i zaangażowaniem, które każdego dnia poświęcają najmłodszym dzieciom - dzieciom, które stawiają pierwsze kroki, które dopiero poznają świat, które dopiero uczą się zarówno emocji, jak i tego, co ich otacza. Tak jak powiedziałam, nie potrzebuję uznania, przyznawania mi racji, żadnej z tych rzeczy. Potrzebuję państwa współpracy i poparcia dla tych rozwiązań ustawowych, żebyśmy mogli dalej budować system rozwoju opieki wczesnodziecięcej, a przez to wsparcia rodzin na terenie całej Polski. Mam nadzieję, że w głosowaniu wyrażą państwo poparcie dla kierunku działań, który tutaj sobie wspólnie nakreśliliśmy. Na koniec chciałam bardzo serdecznie podziękować swojemu zespołowi i posłom, którzy pracują w terenie i powodują, że białe plamy opieki żłobkowej znikają z mapy Polski. Serdecznie dziękuję. (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ź 217 Bogumiła Olbryś 10. kadencja, 61. posiedzenie, 2. dzień (02-07-2026) 11. punkt porządku dziennego: Pierwsze czytanie rządowego projektu ustawy o zmianie ustawy o opiece nad dziećmi w wieku do lat 3 oraz niektórych innych ustaw (druk nr 2698). Poseł Bogumił
  2. Wcześniej · wypowiedź 218 Łukasz Kmita 10. kadencja, 61. posiedzenie, 2. dzień (02-07-2026) 11. punkt porządku dziennego: Pierwsze czytanie rządowego projektu ustawy o zmianie ustawy o opiece nad dziećmi w wieku do lat 3 oraz niektórych innych ustaw (druk nr 2698). Poseł Łukasz
  3. Później · wypowiedź 220 Anna Gembicka 10. kadencja, 61. posiedzenie, 2. dzień (02-07-2026) 11. punkt porządku dziennego: Pierwsze czytanie rządowego projektu ustawy o zmianie ustawy o opiece nad dziećmi w wieku do lat 3 oraz niektórych innych ustaw (druk nr 2698). Poseł Anna Ge
  4. Później · wypowiedź 221 Marcin Józefaciuk 10. kadencja, 61. posiedzenie, 2. dzień (02-07-2026) 11. punkt porządku dziennego: Pierwsze czytanie rządowego projektu ustawy o zmianie ustawy o opiece nad dziećmi w wieku do lat 3 oraz niektórych innych ustaw (druk nr 2698). Poseł Marcin
1. (2.88ms; exec 2.82 + fetch 0.06; 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. (1.2ms; exec 1.15 + fetch 0.05; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
3. (1.01ms; exec 0.99 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5581 ORDER BY ordinal
4. (1.3ms; exec 1.26 + fetch 0.03; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (1.13ms; exec 1.11 + fetch 0.03; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (1.02ms; exec 1 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (1.5ms; exec 1.49 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5579 ORDER BY ordinal
8. (0.83ms; exec 0.82 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (0.77ms; exec 0.76 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (0.56ms; exec 0.56 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5580 ORDER BY ordinal
11. (0.85ms; exec 0.85 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (0.75ms; exec 0.74 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (0.63ms; exec 0.6 + fetch 0.03; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5582 ORDER BY ordinal
14. (0.77ms; 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…
15. (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…
16. (0.5ms; exec 0.49 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5583 ORDER BY ordinal
17. (3.37ms; exec 3.36 + 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.88ms; exec 2.82 + fetch 0.06; 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 = 19808 LIMIT 1
2. (1.2ms; exec 1.15 + fetch 0.05; 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 = 21396 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.01ms; exec 0.99 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5581 ORDER BY ordinal
4. (1.3ms; exec 1.26 + fetch 0.03; 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 = 19588 AND dayStatement.day_revision_id = 19249 AND dayStatement.ordinal BETWEEN 217 AND 221 AND statement.object_id <> 19808 ORDER BY dayStatement.ordinal
5. (1.13ms; exec 1.11 + fetch 0.03; 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 = 19588 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 217) LIMIT 1
6. (1.02ms; exec 1 + 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 = 21389 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. (1.5ms; exec 1.49 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5579 ORDER BY ordinal
8. (0.83ms; exec 0.82 + 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 = 19588 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 218) LIMIT 1
9. (0.77ms; exec 0.76 + 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 = 21390 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.56ms; exec 0.56 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5580 ORDER BY ordinal
11. (0.85ms; exec 0.85 + 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 = 19588 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 220) LIMIT 1
12. (0.75ms; exec 0.74 + 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 = 21397 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.63ms; exec 0.6 + fetch 0.03; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5582 ORDER BY ordinal
14. (0.77ms; 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 = 19588 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 221) LIMIT 1
15. (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 = 21398 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.5ms; exec 0.49 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 5583 ORDER BY ordinal
17. (3.37ms; exec 3.36 + 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 = 61 AND individual.mp_number = 86 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-02' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
Top slow:
3.37ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
2.88ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
1.5ms SELECT source_text FROM text_segments WHERE extraction_id = 5579 ORDER BY ordinal
toggle
3.37ms 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 = 61 AND individual.mp_number = 86 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-02' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
2.88ms 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 = 19808 LIMIT 1
1.5ms SELECT source_text FROM text_segments WHERE extraction_id = 5579 ORDER BY ordinal
N+1 candidates:
5× (4.43ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (4.2ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (3.58ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (4.43ms) 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× (4.2ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (3.58ms) 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.6ms | App: 27.4ms | DB: 19.8ms (17, rows: 19) [exec: 19.4ms, fetch: 0.3ms] | View: 0.6ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.55ms) /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