Jeśli aplikacja pobiera duże wyniki z Cloudflare D1 w ramach jednego zapytania, sprawdź je przed 4 listopada: od tego dnia zapytanie zwracające ponad 50 MB zakończy się błędem. Zmiana dotyczy rozmiaru wyniku, a nie rozmiaru bazy danych ani objętości żądania do API; import i eksport przez REST API zachowują dotychczasowe zasady.
Co dokładnie się zmienia
Cloudflare ogłosiło ograniczenie 30 października 2026 roku. Nowa zasada zacznie obowiązywać w środę, 4 listopada: jeśli wynik zapytania SQL przekroczy 50 MB, D1 zwróci błąd D1 query result exceeded the maximum response size limit of 50 MB. Firma podaje, że próg ten obejmuje 99,999. percentyl zapytań w D1, co oznacza, że zdecydowana większość zapytań pozostaje poniżej limitu. Jest to szacunek Cloudflare oparty na danych z jej platformy, a nie gwarancja dotycząca konkretnej aplikacji.
Ważne jest rozróżnienie między wynikiem zapytania a przesyłaniem danych. Ograniczenie dotyczy wyniku zwracanego przez zapytanie D1; operacje importu i eksportu przez REST API są wyraźnie wyłączone z tej zasady. Dlatego w pierwszej kolejności warto sprawdzić zapytania aplikacji, które odczytują wiele wierszy lub szerokie rekordy, a następnie pobierają je w całości.
Dlaczego duży wynik może pojawić się niezauważenie
Rozmiar odpowiedzi zależy nie tylko od liczby wierszy. Zapytanie obejmujące wiele kolumn może zwrócić duży wynik nawet przy umiarkowanej liczbie rekordów, zwłaszcza gdy wiersze zawierają długi tekst lub inne obszerne wartości. Konstrukcja SELECT * pobiera wszystkie kolumny, choć kod wywołujący może potrzebować tylko kilku. Z czasem wzrost tabeli również może sprawić, że wcześniej bezpieczne zapytanie przekroczy próg.
W praktyce oznacza to, że warto sprawdzić nie tylko jednorazowe eksporty administracyjne, lecz także regularne operacje aplikacji — na przykład obsługę raportów, zadania w tle i metody API gromadzące dane do dalszego przetwarzania. Są to scenariusze do audytu, a nie stwierdzenie, że każdy z nich na pewno zostanie objęty ograniczeniem.
Jak przygotować zapytania
W komunikacie Cloudflare zaleca ograniczenie zwracanego zestawu danych: wybieranie potrzebnych kolumn zamiast SELECT * oraz dzielenie dużych wyników na strony przy użyciu LIMIT i OFFSET. Takie podejście zmniejsza objętość pojedynczej odpowiedzi i pozwala rozłożyć przetwarzanie na kilka zapytań.


- Znajdź szerokie zapytania. Przejrzyj zapytania z
SELECT *, bez ograniczenia liczby wierszy lub z dużymi polami tekstowymi. - Ogranicz wybierane kolumny. Wymień tylko te kolumny, które są rzeczywiście potrzebne na kolejnym etapie przetwarzania.
- Podziel odczyt na porcje. Dodaj stronicowanie za pomocą
LIMITiOFFSET, zgodnie z zaleceniem Cloudflare, i przetwarzaj porcje kolejno. - Sprawdź działanie po podziale. Upewnij się, że aplikacja poprawnie łączy wyniki i nie zakłada, że otrzyma cały zestaw w jednej odpowiedzi.
Jeśli aplikacja potrzebuje pełnego zestawu danych do osobnego eksportu, sprawdź, czy do tego celu nadaje się operacja eksportu przez REST API: Cloudflare osobno informuje, że nowy limit jej nie obejmuje. W przypadku zwykłej logiki aplikacji ten wyjątek nie zastępuje przeglądu dużych odpowiedzi SQL.
Kogo dotyczy termin
Termin dotyczy bezpośrednio użytkowników D1, których zapytania zwracają ponad 50 MB. W pierwszej kolejności warto sprawdzić kod, w którym wynik jest wczytywany w całości do pamięci, przekazywany między komponentami lub przygotowywany do raportu. Jeśli zapytania już zwracają jedynie niewielkie strony i potrzebne pola, specjalna zmiana może nie być konieczna; decyzję należy oprzeć na faktycznym rozmiarze odpowiedzi zapytań.
Sprawdzenie zapytań przed 4 listopada pozwala wykryć zależność od pojedynczej dużej odpowiedzi, zanim zacznie obowiązywać ograniczenie. Według szacunków Cloudflare próg pozostaje znacznie powyżej typowej objętości większości zapytań; w przypadku systemów, których dotyczy problem, najbardziej bezpośredni plan to ograniczyć wybierane dane, odczytywać je porcjami albo skorzystać z przewidzianej dla eksportów ścieżki przez REST API.