Stenogram Sejmu · 2026-07-29

Paweł Sałek

Kadencja 10 · posiedzenie 63 · wypowiedź 20

Profil posła

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) 3. punkt porządku dziennego: Sprawozdanie Komisji Ochrony Środowiska, Zasobów Naturalnych i Leśnictwa o rządowym projekcie ustawy o zmianie ustawy - Prawo ochrony środowiska (druki nr 2778 i 2818). Poseł Paweł Sałek: Dziękuję uprzejmie. Szanowna Pani Marszałek! Wysoka Izbo! W dniu 16 lipca br. komisja ochrony środowiska po przeprowadzeniu pierwszego czytania oraz rozpatrzeniu rządowego projektu ustawy o zmianie ustawy - Prawo ochrony środowiska zakończyła na tym etapie prace. Teraz przed Wysoką Izbą omawiamy sprawozdanie komisji wobec druku nr 2778 i w imieniu Klubu Parlamentarnego Prawo i Sprawiedliwość chciałbym przedstawić nasze stanowisko. Szanowni Państwo! Nowelizacja tej ustawy, która w założeniu ma zwiększyć wpływ obywateli na jakość powietrza, jednocześnie wprowadza kolejne narzędzia do kreacji lokalnego prawa wbrew lokalnym społecznościom. Zmiana ustawy - Prawo ochrony środowiska wynika z groźby Komisji Europejskiej złożenia skargi do Trybunału Sprawiedliwości Unii Europejskiej przeciwko Polsce, gdzie głównym argumentem naruszeniowym jest brak możliwości zaskarżenia przez zainteresowaną społeczność, w szczególności organizacje pozarządowe, programów ochrony powietrza. Komisja zarzuca Polsce, że nie zapewnia ona skutecznej ochrony sądowej uprawnień wywodzonych z przepisów w sprawie jakości powietrza i czystszego powietrza dla Europy wynikających z dyrektyw oraz narusza traktat, Kartę Praw Podstawowych i konwencję z Aarhus. Szanowni Państwo! Podobną sytuację mamy już w przypadku wyroku TSUE dla planów urządzenia lasu, gdzie podmioty unijne decydują o tym, jak mamy prowadzić leśnictwo we własnym kraju. Projektowane przepisy ułatwiające zaskarżanie programów ochrony powietrza wywołają wyroki sądowe nakazujące nakazy natychmiastowego zaostrzania lokalnych przepisów. Skarga będzie przysługiwała osobie fizycznej, osobie prawnej lub jednostce organizacyjnej, organizacji społecznej powołującej się na swoje cele statutowe w zakresie ochrony powietrza lub ochrony zdrowia ludzkiego. Tak więc projekt ustawy rozszerza katalog podmiotów uprawnionych do wniesienia skargi do sądu administracyjnego na uchwałę w sprawie programu ochrony powietrza, uchwałę w sprawie aktualizacji POP-u oraz uchwałę w sprawie planu działań krótkoterminowych albo na brak takiej uchwały. W rzeczywistości wygląda to tak, że dzisiaj urzędy marszałkowskie wybiórczo traktują konsultacje społeczne i np. uwagi branży grzewczej, odrzucając je, a jednocześnie przyjmują wszystkie uwagi jako tzw. głos społeczny ze strony organizacji pozarządowych, ale nie uwzględnia się głosu izb gospodarczych czy cechów rzemieślniczych. Jest to poważne naruszenie i poważny problem. Trzeba powiedzieć, że po wejściu tej ustawy w życie polskie rzemiosło będzie, szanowni państwo, dyskryminowane. Zauważmy, że projekt wprowadza rygorystyczny 24-miesięczny warunek prowadzenia działalności gospodarczej, tak aby dana firma czy dany podmiot mogły zaskarżyć program ochrony powietrza. To jest jawna dyskryminacja nowych lokalnych firm, które mogą powstać w późniejszym okresie. Szanowni Państwo! Obawą jest to, że dzisiaj ekologiczny kominek, piec czy kocioł na pellet z certyfikatem ekoprojektu nagle przez wyrok sądu administracyjnego dla danej strefy, dla danego okręgu może zostać zakazany do używania. Czy ta ustawa zupełnie zabroni Polakom używania kominków, jeśli prawo lokalne zostanie zmienione i będzie zaostrzone? Dochodzi do sytuacji, że na sali sądowej będzie się decydować, w jaki sposób na danym terenie Polacy będą mogli użytkować kominki albo urządzenia z tego projektu i w jaki sposób i jakim paliwem będą mogli opalać swoje mieszkania. No chyba nie tędy droga, jeśli spojrzymy na swobody obywatelskie. Następnie: Czy koalicja 13 grudnia chce, aby za te zmiany w prawie miejscowym płacili najubożsi? Przecież dzisiaj certyfikowany kominek, w którym spala się suche drewno, jest efektywny, sprawny i naprawdę ekologiczny w momencie używania biomasy, ponieważ pamiętajmy o tym, że biomasa i drewno kawałkowane są bezemisyjnym surowcem. Warto o tym przypominać. Jako klub Prawo i Sprawiedliwość oczekujemy ujęcia w ustawie gwarancji dla użytkowania, utrzymania i instalacji w przyszłości w myśl przepisów urządzeń ekoprojektu, a także niezaostrzania norm jakości powietrza, jeśli takie urządzenia będą sytuowane w danej strefie. Szanowni Państwo! Biomasa, pellet, zrębki, drewno kawałkowane to nasze bezpieczeństwo energetyczne w ujęciu lokalnym, szczególnie w okresie zimowym. Pompy ciepła nie będą mogły zawsze pracować, szczególnie w przypadku braku energii elektrycznej, a zwykły polski kominek to niezależność, bezpieczeństwo i swoboda decyzji, jak ogrzewać swój dom. Przy tej okazji trzeba wspomnieć, że Polska jest liderem w produkcji kominków, pieców, miejscowych ogrzewaczy pomieszczeń, kotłów na biomasę. To bardzo ważny czynnik krajowej gospodarki i biznesu. I teraz pytanie: Czy ta ustawa, wprowadzając zmiany w POP-ach, nie doprowadzi do zapaści branży grzewczej, co było sygnalizowane też w komisjach, bankructwa, utraty poszczególnych miejsc pracy i zmiany funkcjonowania poszczególnych firm? Tak że, szanowni państwo, kończąc omawiać ten projekt, wskazuję, że to jest kolejny przykład (Dzwonek), z jakim mamy do czynienia, dyktatu Komisji Europejskiej wobec państwa członkowskiego. Podobnie jest w sytuacji leśnictwa, jeśli spojrzymy na plany urządzenia lasu. Ale jest to też ograniczenie swobód obywatelskich, dlatego że narzuca się komuś, w jaki sposób i czym ma ogrzewać swoje własne mieszkanie. Konkludując, szanowni państwo, klub Prawa i Sprawiedliwości, jeśli wnioski mniejszości nie zostaną przegłosowane przez Wysoką Izbę, będzie głosował przeciw tej ustawie, bo szanowni państwo, nie można Polakom zabierać ognia ani zakazywać w Polsce kominków, co poprzez tę ustawę, a później zmianę prawa lokalnego, może się stać. Dziękuję uprzejmie. (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ź 18 Krzysztof Paszyk 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 2. punkt porządku dziennego: Pierwsze czytanie przedstawionego przez Prezydium Sejmu projektu uchwały w sprawie ustalenia liczby członków Komisji do Spraw Służb Specjalnych (druk nr 2811)
  2. Wcześniej · wypowiedź 19 Katarzyna Matusik-Lipiec 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 3. punkt porządku dziennego: Sprawozdanie Komisji Ochrony Środowiska, Zasobów Naturalnych i Leśnictwa o rządowym projekcie ustawy o zmianie ustawy - Prawo ochrony środowiska (druki nr 277
  3. Później · wypowiedź 21 Gabriela Lenartowicz 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 3. punkt porządku dziennego: Sprawozdanie Komisji Ochrony Środowiska, Zasobów Naturalnych i Leśnictwa o rządowym projekcie ustawy o zmianie ustawy - Prawo ochrony środowiska (druki nr 277
  4. Później · wypowiedź 22 Urszula Pasławska 10. kadencja, 63. posiedzenie, 1. dzień (29-07-2026) 3. punkt porządku dziennego: Sprawozdanie Komisji Ochrony Środowiska, Zasobów Naturalnych i Leśnictwa o rządowym projekcie ustawy o zmianie ustawy - Prawo ochrony środowiska (druki nr 277
1. (2.97ms; exec 2.93 + 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. (1.37ms; exec 1.35 + fetch 0.02; 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.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3359 ORDER BY ordinal
4. (1.2ms; exec 1.17 + fetch 0.03; rows 4) SELECT statement.object_id, statement.statement_number, statement.speaker_name, dayStatement.ordinal FROM sejm_transcrip…
5. (0.98ms; exec 0.97 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
6. (0.81ms; exec 0.79 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
7. (0.58ms; exec 0.57 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3357 ORDER BY ordinal
8. (1.02ms; exec 1.02 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
9. (0.87ms; exec 0.86 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
10. (0.58ms; exec 0.57 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3358 ORDER BY ordinal
11. (0.85ms; exec 0.84 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
12. (0.82ms; exec 0.81 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
13. (0.51ms; exec 0.5 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3360 ORDER BY ordinal
14. (0.96ms; exec 0.95 + fetch 0.01; rows 1) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON version.document_id = document.obje…
15. (0.85ms; exec 0.83 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extracti…
16. (0.75ms; exec 0.73 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3361 ORDER BY ordinal
17. (3.22ms; exec 3.2 + 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.97ms; exec 2.93 + 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 = 13911 LIMIT 1
2. (1.37ms; exec 1.35 + 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 = 13884 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.02; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3359 ORDER BY ordinal
4. (1.2ms; exec 1.17 + 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 = 13890 AND dayStatement.day_revision_id = 13480 AND dayStatement.ordinal BETWEEN 18 AND 22 AND statement.object_id <> 13911 ORDER BY dayStatement.ordinal
5. (0.98ms; exec 0.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:', 18) LIMIT 1
6. (0.81ms; exec 0.79 + fetch 0.01; rows 1) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 13876 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.58ms; exec 0.57 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3357 ORDER BY ordinal
8. (1.02ms; exec 1.02 + 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:', 19) LIMIT 1
9. (0.87ms; exec 0.86 + 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 = 13883 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.58ms; exec 0.57 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3358 ORDER BY ordinal
11. (0.85ms; exec 0.84 + 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:', 21) LIMIT 1
12. (0.82ms; exec 0.81 + 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 = 13885 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.51ms; exec 0.5 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3360 ORDER BY ordinal
14. (0.96ms; exec 0.95 + 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:', 22) LIMIT 1
15. (0.85ms; exec 0.83 + 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 = 13886 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.75ms; exec 0.73 + fetch 0.01; rows 1) SELECT source_text FROM text_segments WHERE extraction_id = 3361 ORDER BY ordinal
17. (3.22ms; exec 3.2 + 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 = 63 AND individual.mp_number = 322 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:
3.22ms SELECT individual.raw_club, individual.evidence_id, f.requested_url FROM sejm_individual_votes indiv…
2.97ms SELECT s.object_id AS statement_id, s.statement_number, s.speaker_name, s.source_member_id, mp.objec…
1.37ms SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run …
toggle
3.22ms 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 = 322 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.97ms 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 = 13911 LIMIT 1
1.37ms SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing_runs run ON run.id = extraction.run_id WHERE extraction.source_artifact_id = 13884 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
N+1 candidates:
5× (4.72ms) SELECT extraction.id, extraction.quality_state FROM extractions extraction JOIN processing…
5× (3.32ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (3.81ms) SELECT binding.artifact_id FROM documents document JOIN document_versions version ON versi…
toggle
5× (4.72ms) 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× (3.32ms) SELECT source_text FROM text_segments WHERE extraction_id = ? ORDER BY ordinal
4× (3.81ms) 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.3ms | App: 27ms | DB: 19.2ms (17, rows: 19) [exec: 19ms, fetch: 0.2ms] | View: 0.4ms (1) | Mem: 2MB (peak: 2MB) | Files: 20
toggle files
(0.36ms) /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