Stenogram Sejmu · 2026-07-16

Katarzyna Anna Lubnauer

Kadencja 10 · posiedzenie 62 · wypowiedź 2

Profil posła

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

Pełna wypowiedź

10. kadencja, 62. posiedzenie, 2. dzień (16-07-2026) 11. punkt porządku dziennego: Pytania w sprawach bieżących. Sekretarz Stanu w Ministerstwie Edukacji Narodowej Katarzyna Anna Lubnauer: Panie Marszałku! Panie i Panowie Posłowie! Chciałam powiedzieć przede wszystkim jedną rzecz. W sumie cenię wiedzę pana posła Zielińskiego dotyczącą edukacji, więc jestem tym bardziej zaskoczona, że pan poseł Zieliński nie zdaje sobie sprawy, nad czym ma nadzór Ministerstwo Edukacji Narodowej, a nad czym nadzoru nie ma. Wyjaśnijmy sobie kilka rzeczy. Lubelski kurator oświaty został powołany zgodnie z art. 50 ustawy z dnia 14 grudnia 2016 r. - Prawo oświatowe. Kandydat został wyłoniony w otwartym konkursie i został powołany na to stanowisko zgodnie z przepisami przez panią minister edukacji Barbarę Nowacką. W tej chwili rzeczywiście kurator pozostaje zawieszony w wykonywaniu obowiązków. Kuratorium oświaty funkcjonuje normalnie, jego zadania ustawowe są realizowane na bieżąco, nadzór pedagogiczny nad szkołami prowadzony jest bez zakłóceń. Proszę państwa, minister edukacji powołuje kuratora spośród kandydatów wyłonionych w konkursie, sprawuje nadzór nad wykonywaniem zadań wynikających z prawa oświatowego, ale nie odpowiada za działalność finansową kuratorium, za zamówienia publiczne, za gospodarkę majątkiem i za bieżące funkcjonowanie administracji kuratorium. Za to wszystko odpowiada wojewoda. Proszę państwa, ten nadzór jest podzielony, w związku z tym te pytania kierują państwo zdecydowanie nie do tego ministra, do którego trzeba. Kolejna kwestia. Postępowanie pozostaje obecnie na etapie przygotowawczym. Obowiązuje konstytucyjna zasada domniemania niewinności. Powiem więcej, o odpowiedzialności karnej rozstrzyga niezawisły sąd, a nie kuratorium ani tym bardziej Ministerstwo Edukacji Narodowej, nawet nie wojewoda. W swoich wyjaśnieniach publicznych pan kurator zaznacza jedną rzecz, że sprawa dotyczyła wydarzeń związanych z organizacją 100-lecia Kuratorium Oświaty w Lublinie. Zgodnie z obowiązującym regulaminem możliwe było zastosowanie przyjętej procedury wyboru wykonawcy. Dokumenty potwierdzają prawidłowość procedury i zostały zabezpieczone dopiero po zatrzymaniu kuratora. W tej chwili będą oceniane przez sąd, do którego zresztą on też się odwołał. Zarzuty nie dotyczą przyjęcia przez niego żadnych korzyści majątkowych. Dotyczą przekroczenia uprawnień, ale nie dotyczą przyjęcia korzyści majątkowych. (Wypowiedź poza mikrofonem) Rozumiem, ale ten komunikat sugeruje nieprawdę. Oczywiście jest to opinia pana kuratora, w związku z tym ona zostanie wyjaśniona przez sąd. Jak mówię, panuje domniemanie niewinności. Stanowisko to oczywiście stanowi pewną linię jego obrony, w związku z tym zostanie wyjaśnione przez sąd. Ale musimy przyjąć również to, że skoro dokumenty zostały zabezpieczone dopiero po jego zatrzymaniu, w związku z tym jest bardzo prawdopodobne, że jego wyjaśnienia są prawdziwe. Natomiast chciałam powiedzieć jedną rzecz. Jestem zaskoczona, że państwo w tej chwili interesują się funkcjonowaniem kuratoriów, ponieważ przez 8 lat rządów Prawa i Sprawiedliwości kuratoria były miejscem, gdzie uprawialiście czysto polityczną działalność. Powiem szczerze, że powoływanie kuratorów, których wprost wyciągaliście z ław radnych Prawa i Sprawiedliwości, żeby musieli rezygnować z mandatu radnego albo z legitymacji PiS-u, żeby potem zostać kuratorami... 13 na 16 kuratorów to byli wasi ludzie, z legitymacją PiS-u, albo powołani bezpośrednio ze środowiska PiS-u. Pamiętamy o pani Barbarze Nowak, która przed objęciem funkcji była radną miasta Krakowa z ramienia PiS-u, podobno nawet członkinią Rady Politycznej PiS-u. Potem jako kurator miała liczne zarzuty ze strony rzecznika praw obywatelskich, po tym jak lżyła na osoby LGBT. (Poseł Tomasz Zieliński: Ilu było zatrzymanych?) W COVID-zie nawet ją upominał minister Czarnek, który był bezsilny wobec tego, co ona robi, jak i minister Niedzielski w sprawie np. materiałów antyszczepionkowych, zamawianych z pieniędzy publicznych kuratoriów. (Wypowiedź poza mikrofonem) Wie pani, dlaczego nie było? Dlatego że mieliście wszystko. Od prokuratury, poprzez służby, po nadzór nad kuratorami. (Poseł Tomasz Zieliński: Na temat proszę.) Ingerowała w spory ideologiczne. Jeśli chodzi o postępowania dyscyplinarne, zawieszani byli dyrektorzy szkół za Tour de Konstytucja. Obecnie jest waszą radną Sejmiku Województwa Małopolskiego. To najlepiej świadczy o jej zaangażowaniu politycznym. Pan Waldemar Flajszer również był radnym powiatowym PiS-u. Przypomnę, że opublikował wpis, w którym napisał, że słowa: ku**a, nie pracują, tłumaczył działaniem edytora tekstu. Tak, edytor tekstu tak zmienia. Przypomnę, pan Wierzchowski zasłynął stwierdzeniem: wirus LGBT jest groźniejszy od koronawirusa. Ale odwołaliście go nie za to. (Poseł Tomasz Zieliński: Ilu zatrzymano?) Odwołaliście go za to, że doprowadził do takich sporów w kuratorium, że przestało móc funkcjonować w jakikolwiek sposób. Pan Roman Kowalczyk obecnie nie jest co prawda posłem PiS-u, bo nie wygrał w wyborach, ale był kandydatem PiS-u do Sejmu. Kilka dni przed wyborami parlamentarnymi rozesłał przez Librusa list do rodziców dotyczący prac domowych, oceniany jako wykorzystanie urzędu do przekazu politycznego. Pan Robert Gaweł, znany z ostrych wypowiedzi dotyczących środowisk LGBT, po ukończeniu kadencji kandydat PiS do Sejmu, wcześniej senator PiS-u. Pani Urszula Bauer, województwo śląskie, kandydatka PiS na burmistrza Myszkowa. Jako kurator krytykowała protestujących nauczycieli, zapowiadała zastępowanie ich emerytami i wspierała projekt lex Czarnek. Pan Marek Gralik, województwo kujawsko-pomorskie. Przed objęciem funkcji przez 18 lat radny PiS-u oraz kandydat PiS na prezydenta Bydgoszczy. Jako kurator apelował do szkół o rezygnację z obchodów Halloween oraz angażował się w spory światopoglądowe (Dzwonek), m.in. promując film ˝Nieplanowane˝. (Poseł Tomasz Zieliński: Kiedy zatrzymano Szabłowskiego, pani poseł?) Proszę państwa, chciałam powiedzieć jedną rzecz: zrobiliście z kuratoriów swoje przybudówki polityczne. 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, 62. posiedzenie, 2. dzień (16-07-2026) (Wznowienie posiedzenia o godz. 9) (Na posiedzeniu przewodniczą wicemarszałkowie Sejmu Piotr Zgorzelski, Monika Wielichowska, Dorota Niedziela, Krzysztof Bosak i Szymon Hołownia) Wicemars
  2. Wcześniej · wypowiedź 1 Tomasz Zieliński 10. kadencja, 62. posiedzenie, 2. dzień (16-07-2026) 11. punkt porządku dziennego: Pytania w sprawach bieżących. Poseł Tomasz Zieliński: Dziękuję. Panie Marszałku! Wysoka Izbo! Pani Minister! Po raz pierwszy w historii kuratoriów i minister
  3. Później · wypowiedź 3 Sławomir Skwarek 10. kadencja, 62. posiedzenie, 2. dzień (16-07-2026) 11. punkt porządku dziennego: Pytania w sprawach bieżących. Poseł Sławomir Skwarek: Panie Marszałku! Wysoka Izbo! Pani Minister! W związku z naprawdę niezadowalającymi odpowiedziami, jaki
  4. Później · wypowiedź 4 Katarzyna Anna Lubnauer 10. kadencja, 62. posiedzenie, 2. dzień (16-07-2026) 11. punkt porządku dziennego: Pytania w sprawach bieżących. Sekretarz Stanu w Ministerstwie Edukacji Narodowej Katarzyna Anna Lubnauer: Proszę państwa, słyszeliśmy tutaj taką filipikę i z
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. (1.2ms; exec 1.18 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
3. (1.39ms; exec 1.37 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3677 ORDER BY ordinal
4. (1.17ms; exec 1.14 + fetch 0.03; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (1.33ms; exec 1.32 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (0.95ms; exec 0.94 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (3.29ms; exec 3.23 + fetch 0.05; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3675 ORDER BY ordinal
8. (1.02ms; exec 1 + fetch 0.02; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (0.85ms; exec 0.83 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (0.48ms; exec 0.47 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3676 ORDER BY ordinal
11. (0.87ms; exec 0.86 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (0.73ms; exec 0.72 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (0.49ms; exec 0.47 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3678 ORDER BY ordinal
14. (0.67ms; exec 0.64 + fetch 0.03; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
15. (0.63ms; exec 0.62 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
16. (0.49ms; exec 0.48 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3679 ORDER BY ordinal
17. (3.17ms; exec 3.15 + 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. (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 = 13523 LIMIT 1
2. (1.2ms; exec 1.18 + 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 = 12858 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.39ms; exec 1.37 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3677 ORDER BY ordinal
4. (1.17ms; exec 1.14 + 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 = 13520 AND dayStatement.day_revision_id = 13100 AND dayStatement.ordinal BETWEEN 0 AND 4 AND statement.object_id <> 13523 ORDER BY dayStatement.ordinal
5. (1.33ms; exec 1.32 + 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 = 13520 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 0) LIMIT 1
6. (0.95ms; exec 0.94 + 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 = 12856 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. (3.29ms; exec 3.23 + fetch 0.05; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3675 ORDER BY ordinal
8. (1.02ms; exec 1 + fetch 0.02; 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 = 13520 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 1) LIMIT 1
9. (0.85ms; exec 0.83 + 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 = 12857 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.48ms; exec 0.47 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3676 ORDER BY ordinal
11. (0.87ms; exec 0.86 + 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 = 13520 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 3) LIMIT 1
12. (0.73ms; exec 0.72 + 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 = 12859 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.49ms; exec 0.47 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3678 ORDER BY ordinal
14. (0.67ms; exec 0.64 + 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 = 13520 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 4) LIMIT 1
15. (0.63ms; exec 0.62 + 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 = 12868 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.49ms; exec 0.48 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3679 ORDER BY ordinal
17. (3.17ms; exec 3.15 + 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 = 62 AND individual.mp_number = 218 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-16' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
Top slow:
3.29ms SELECT source_text FROM text_segments WHERE extraction_id = 3675 ORDER BY ordinal
3.17ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
2.15ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
toggle
3.29ms SELECT source_text FROM text_segments WHERE extraction_id = 3675 ORDER BY ordinal
3.17ms 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 = 62 AND individual.mp_number = 218 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-16' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
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 = 13523 LIMIT 1
N+1 candidates:
5× (4.36ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (6.14ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (3.89ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (4.36ms) 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× (6.14ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (3.89ms) 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: 26.4ms | App: 26.1ms | DB: 20.9ms (17, rows: 19) [exec: 20.6ms, fetch: 0.3ms] | View: 0.3ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.26ms) /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