Stenogram Sejmu · 2026-07-29

Dariusz Standerski

Kadencja 10 · posiedzenie 63 · wypowiedź 218

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

Pełna wypowiedź

10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 9. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o rządowym projekcie ustawy o zmianie ustawy o świadczeniu usług drogą elektroniczną oraz niektórych innych ustaw (druki nr 2694 i 2815). Sekretarz Stanu w Ministerstwie Cyfryzacji Dariusz Standerski: Dziękuję bardzo. Szanowny Panie Marszałku! Wysoka Izbo! Chciałbym bardzo podziękować za wszystkie głosy w dyskusji, za zadane pytania, również za poprawki, które zostały zgłoszone przez kluby w trakcie drugiego czytania. Chciałbym na początku również podziękować za pracę na posiedzeniu komisji sejmowej podczas rozpatrywania tego projektu ustawy. To była dyskusja trudna, ale dyskusja ważna, dzięki której dzisiejsze przedłożenie jest bardziej dostosowane do potrzeb różnych środowisk, różnych ugrupowań. Pan poseł Milewski składał poprawkę i pytał o kwestie zaufanych podmiotów sygnalizujących, o zweryfikowanych badaczy oraz o sposób ich wyboru, sugerując, że opinia wydawana przez Urząd Ochrony Danych Osobowych oraz przez inne organy powinna być wiążąca i że podmioty, wobec których toczy się postępowanie przed UODO lub przed innymi organami, nie powinny uzyskiwać takiego statusu zaufanego podmiotu sygnalizującego. Ja chciałbym potwierdzić, że zgadzam się z tą opinią. Co więcej, poza poprawką zgłoszoną w imieniu klubu Prawa i Sprawiedliwości przez pana posła Milewskiego pojawiły się również inne poprawki złożone przed chwilą, które idą dalej, które wskazują, że zaufany podmiot sygnalizujący może uzyskać swój status tylko i wyłącznie po uzgodnieniu z prezesem Urzędu Ochrony Danych Osobowych. Oznacza to, że dyskusja, która była prowadzona podczas posiedzenia komisji sejmowej, żeby nie uzależniać upływu terminu od domyślnej zgody organu albo żeby jednak negatywna opinia organu była czynnikiem, który uniemożliwi przyznanie takiego statusu, jest już nie tyle bezprzedmiotowa, co zrealizowana. Upominał się o to też pan poseł przewodniczący komisji Bartłomiej Pejo. Te wszystkie uwagi zostały zaadresowane, ponieważ ten rząd i ta większość sejmowa są otwarci na dialog, na dyskusję. Dlatego w ostatecznym brzmieniu, jeżeli poprawki uzyskają poparcie Wysokiej Izby, takie podmioty będą uzgadniane pomiędzy różnymi organami niezależnymi od siebie, powoływanymi w różnym czasie, przez różne większości, co wpłynie na poziom ich niezależności i na to, że ten wybór będzie właściwy. To też adresowała pani poseł Golińska, z czym oczywiście należy się zgodzić. Dlatego mam nadzieję, że te poprawki uzyskają powszechne poparcie. Co więcej, idziemy jeszcze dalej. Wspominano tutaj kilkukrotnie o społecznej radzie do spraw usług cyfrowych. Społeczna rada do spraw usług cyfrowych nie należy do struktury nadzoru. To nie jest tak, że członkowie rady będą mogli dokonywać kontroli czy będą w całym procesie na poziomie równym z organami właściwymi. Natomiast słyszymy również głosy z różnych stron sceny politycznej, żeby zdywersyfikować skład społecznej rady. Została zgłoszona poprawka dotycząca zwiększenia mocy głosu niezależnych organów. Dlatego jeżeli poprawka spotka się z poparciem Wysokiej Izby, to społeczna rada do spraw usług cyfrowych będzie składała się nie tylko z członków powoływanych przez koordynatora usług cyfrowych spośród przedstawicieli społeczeństwa obywatelskiego, ale będzie się składała również z przedstawicieli takich organów jak rzecznik praw obywatelskich, rzecznik praw dziecka, przedstawicieli uczelni czy innych niezależnych organów. To też jest wyjście naprzeciw tym potrzebom i głosom z różnych stron sceny politycznej, które były zgłaszane zarówno przez koalicję, jak i opozycję podczas pierwszego czytania czy podczas dyskusji w komisji sejmowej. To są te głosy, które wskazywały na pewne wątpliwości co do szczegółów tego projektu ustawy, i na to odpowiedzieliśmy. Były pytania dotyczące struktury nadzoru nad tą częścią rynku. Wskazywano i pytano, dlaczego to trzy organy, a nie jeden. Zgodnie z wielokrotnie powtarzanymi apelami ze strony posłów i posłanek chcemy tak wprowadzać rozwiązania, żeby nie tworzyć nowych urzędów. Robimy, co w naszej mocy, żeby tego uniknąć. Dlatego np. w innej ustawie Komisja Rozwoju i Bezpieczeństwa Sztucznej Inteligencji, która zacznie pracę już za 3 miesiące, nie będzie w nowym urzędzie, tylko będzie korzystała z obsługi administracyjnej istniejących urzędów. Tak samo tutaj. Gdybyśmy chcieli wybrać jeden urząd, koordynatora usług cyfrowych i organ właściwy w jednym, musielibyśmy stworzyć nowy urząd od zera, który musiałby wziąć część kompetencji, które byłyby domyślne np. dla Krajowej Rady Radiofonii i Telewizji. W konsultacjach społecznych prowadzonych wielokrotnie wskazywano raczej na rozszerzenie tej struktury. Przypomnę, że Krajowa Rada Radiofonii i Telewizji pojawiła się w strukturze właściwych organów w wyniku konsultacji społecznych. Dzięki temu dotychczasowe dzisiejsze zadania tych organów są uzupełnione o te zadania w Internecie, jak w przypadku Krajowej Rady Radiofonii i Telewizji, która zajmuje się treściami, które stanowią format wideo. UOKiK będzie się zajmować formatem wideo w zakresie części dotyczącej konkurencji i konsumentów. Padło również pytanie dotyczące perspektywy użytkownika. Perspektywa użytkownika będzie prosta, ponieważ koordynator usług cyfrowych będzie przyjmował wszystkie zgłoszenia, a następnie w systemie teleinformatycznym rozdzielał pomiędzy właściwe organy. W przypadku wątpliwości, które pewnie na początku stosowania tego prawa się pojawią, tak jak w przypadku każdego nowego elementu naszego systemu prawnego, rozstrzygane są one zgodnie z Kodeksem postępowania administracyjnego. Tutaj nic się nie zmienia z punktu widzenia użytkownika. Było również pytanie o przyjęcie podstawy prawnej. Te przepisy zostały zaczerpnięte z prawa konsumenckiego, gdzie konsument, w tym przypadku użytkownik, będzie mógł podać podstawę prawną, ale brak tej podstawy prawnej nie będzie stanowił błędu formalnego. To znaczy, że bez wskazania tej podstawy prawnej skarga dalej zostanie rozpatrzona przez właściwy urząd i to właściwy urząd dopasuje odpowiednią podstawę prawną, jeżeli będzie chciał rozpocząć postępowanie wyjaśniające. Tam, gdzie to możliwe, stosujemy procedury, które są znane nam wszystkim i które mają już solidną nadbudowę w zakresie doktryny i orzeczeń sądowych. Czyli w tym zakresie, tam gdzie nasze przepisy nie stanowią inaczej, stosujemy Kodeks postępowania administracyjnego. Tak samo jest, jeżeli chodzi o postępowania skargowe - terminy i procedury są takie same jak w Kodeksie postępowania administracyjnego. Z punktu widzenia użytkownika, poprzez specjalny system, który będzie półautomatyzował dane zgłoszenia, również będzie to ułatwione. Chciałbym też po raz kolejny jasno podkreślić, że niniejszy projekt ustawy rozpatrywany teraz przez Wysoką Izbę nie dotyczy blokowania treści w Internecie. Tutaj jest wskazywanie właściwych organów, wskazywanie sposobu wyboru zaufanych podmiotów sygnalizujących, podmiotów w zakresie przedsądowego rozwiązywania sporów, zweryfikowanych badaczy, natomiast ustawa dotycząca blokowania nielegalnych treści w Internecie stanowi przedmiot odrębnego przedłożenia, które dzisiaj, kilka godzin temu, też było przedmiotem prac komisji sejmowych. Na pewno poświęcimy dodatkową, długą dyskusję na następnych posiedzeniach Sejmu właśnie tym przepisom. Pozwólcie państwo, że wówczas szczegółowo odpowiem na wszystkie pytania dotyczące blokowania treści nielegalnych i odblokowywania treści, które są legalne, a które błędnie zostały zablokowane przez platformy. Dzisiaj mówimy tylko o wyznaczeniu właściwych organów. Bardzo się cieszę, że po dyskusji w komisji udało się zebrać poparcie dla tego projektu ze wszystkich stron sceny politycznej, a dzisiaj zgłoszone poprawki, mam nadzieję, pozwolą na rozwianie ostatnich wątpliwości i dostosowanie tego projektu ustawy do różnych wrażliwości, które dzięki takim debatom, dzięki merytorycznym dyskusjom podczas posiedzenia komisji mogą zostać przełożone na mądre prawo. Bardzo 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ź 216 Kamil Wnuk 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 9. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o rządowym projekcie ustawy o zmianie ustawy o świadczeniu usług drogą elektroniczn
  2. Wcześniej · wypowiedź 217 Wioletta Maria Kulpa 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 9. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o rządowym projekcie ustawy o zmianie ustawy o świadczeniu usług drogą elektroniczn
  3. Później · wypowiedź 219 Anna Gembicka 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 9. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o rządowym projekcie ustawy o zmianie ustawy o świadczeniu usług drogą elektroniczn
  4. Później · wypowiedź 220 Marcin Józefaciuk 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 9. punkt porządku dziennego: Sprawozdanie Komisji Cyfryzacji, Innowacyjności i Nowoczesnych Technologii o rządowym projekcie ustawy o zmianie ustawy o świadczeniu usług drogą elektroniczn
1. (6.27ms; exec 6.24 + 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.4ms; exec 1.39 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
3. (0.9ms; exec 0.88 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3557 ORDER BY ordinal
4. (2.41ms; exec 2.31 + fetch 0.09; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (1.37ms; exec 1.37 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (1.09ms; exec 1.07 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (0.87ms; exec 0.86 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3555 ORDER BY ordinal
8. (1.98ms; exec 1.97 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (1.23ms; exec 1.22 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (1.04ms; exec 0.99 + fetch 0.06; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3556 ORDER BY ordinal
11. (2.01ms; exec 2 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (1.35ms; exec 1.33 + fetch 0.02; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (1.06ms; exec 1.05 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3558 ORDER BY ordinal
14. (1.56ms; exec 1.54 + fetch 0.02; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
15. (1.35ms; exec 1.34 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
16. (0.9ms; exec 0.87 + fetch 0.03; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3559 ORDER BY ordinal
17. (2.97ms; exec 2.95 + 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. (6.27ms; exec 6.24 + 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 = 14109 LIMIT 1
2. (1.4ms; exec 1.39 + 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 = 14388 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.9ms; exec 0.88 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3557 ORDER BY ordinal
4. (2.41ms; exec 2.31 + fetch 0.09; 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 = 13890 AND dayStatement.day_revision_id = 13480 AND dayStatement.ordinal BETWEEN 216 AND 220 AND statement.object_id <> 14109 ORDER BY dayStatement.ordinal
5. (1.37ms; exec 1.37 + 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 = 13890 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 216) LIMIT 1
6. (1.09ms; exec 1.07 + 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 = 14386 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.87ms; exec 0.86 + fetch 0.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3555 ORDER BY ordinal
8. (1.98ms; exec 1.97 + 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 = 13890 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 217) LIMIT 1
9. (1.23ms; exec 1.22 + 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 = 14387 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. (1.04ms; exec 0.99 + fetch 0.06; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3556 ORDER BY ordinal
11. (2.01ms; exec 2 + 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 = 13890 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 219) LIMIT 1
12. (1.35ms; exec 1.33 + 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 = 14395 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. (1.06ms; exec 1.05 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3558 ORDER BY ordinal
14. (1.56ms; exec 1.54 + 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 = 13890 AND document.document_kind = 'statement_transcript' AND document.source_document_key = CONCAT('sejm:statement:', 220) LIMIT 1
15. (1.35ms; exec 1.34 + 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 = 14396 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.9ms; exec 0.87 + fetch 0.03; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3559 ORDER BY ordinal
17. (2.97ms; exec 2.95 + 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 = 0 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-29' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
Top slow:
6.27ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
2.97ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
2.41ms SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal…
toggle
6.27ms 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 = 14109 LIMIT 1
2.97ms 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 = 0 AND LEFT(JSON_VALUE(revision.snapshot, '$.date'), 10) = '2026-07-29' AND individual.raw_club IS NOT NULL AND individual.raw_club <> '' ORDER BY vote.voting_number DESC
2.41ms 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 = 13890 AND dayStatement.day_revision_id = 13480 AND dayStatement.ordinal BETWEEN 216 AND 220 AND statement.object_id <> 14109 ORDER BY dayStatement.ordinal
N+1 candidates:
5× (6.42ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (4.77ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (6.92ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (6.42ms) 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.77ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (6.92ms) 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: 39.4ms | App: 38.6ms | DB: 29.8ms (17, rows: 19) [exec: 29.4ms, fetch: 0.4ms] | View: 0.3ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.34ms) /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