jsonscraper
Mercados
Voltar ao jornal

Cloudflare D1 limita o tamanho das respostas de consultas: por que a exportação do banco funciona de outra forma

Desde 4 de novembro, uma consulta D1 pode falhar se retornar mais de 50 MB. O limite se aplica à resposta da consulta; a importação e a exportação pela API REST continuam funcionando.

Política editorial Comunique um erro

Uma consulta ao Cloudflare D1 que retorna um resultado com mais de 50 MB falha desde 4 de novembro de 2026. Para quem desenvolve, é importante entender o alcance dessa mudança: ela diz respeito ao tamanho do resultado de uma consulta individual, não ao tamanho máximo do banco de dados. A importação e a exportação pela API REST não estão sujeitas a esse limite; portanto, a forma de ler os dados determina se será necessário alterar o fluxo de trabalho.

Artigo: Cloudflare D1 limita o tamanho das respostas de consultas: por que a exportação do banco funciona de outra forma
Resumo: O limite de 50 MB do D1 diz respeito ao resultado de uma única consulta, não ao tamanho do banco de dados. Veja quais operações são afetadas e como dividir leituras e exportações grandes.
Função da imagem: capa — ideia central
Seção: Cloudflare D1 limita o tamanho das respostas de consultas: por que a exportação do banco funciona de outra forma
Tema visual: foto editorial de uma tabela de banco de dados representada como uma pilha de cartões de dados translúcidos div
O limite se aplica ao volume do resultado de uma consulta SQL individual, não ao tamanho total do banco de dados.© jsonscraper · criado com IA

O que exatamente está limitado?

O Cloudflare descreveu a mudança em uma publicação de 30 de outubro: uma consulta cujo resultado exceda 50 MB retorna o erro D1 query result exceeded the maximum response size limit of 50 MB. A aplicação do limite começa em 4 de novembro de 2026. A documentação do D1 também indica que o limite se aplica ao tamanho do resultado da consulta; enquanto isso, o banco pode armazenar até 10 GB no plano pago ou 500 MB no plano gratuito.

São níveis diferentes: o armazenamento determina o volume de dados no banco, enquanto o limite de resultado determina quantos dados uma consulta pode retornar. Assim, um banco pode conter um volume de dados muito superior a 50 MB e continuar acessível para leituras em partes. Ao mesmo tempo, até mesmo uma consulta a um banco pequeno pode ultrapassar o limite se selecionar muitas linhas com muitos campos ou campos de texto e binários grandes.

No anúncio da Cloudflare sobre o limite, a empresa afirma que o limite abrange o percentil 99,999 das consultas D1. Essa é uma estimativa da distribuição de consultas fornecida pelo provedor; para uma verificação prática, é mais importante medir as respostas específicas do aplicativo e identificar as consultas que retornam grandes conjuntos de dados.

Por que a exportação pela API REST é um caso à parte?

Uma consulta do aplicativo geralmente recebe o resultado da execução de SQL e o repassa ao código que a chamou. A importação e a exportação do banco pela API REST são operações diferentes: a Cloudflare informa separadamente que elas não são afetadas pelo novo limite e continuam funcionando como antes. Portanto, uma falha em uma consulta grande não significa que seja impossível exportar um grande volume de dados do banco.

Artigo: Cloudflare D1 limita o tamanho das respostas de consultas: por que a exportação do banco funciona de outra forma
Resumo: O limite de 50 MB do D1 diz respeito ao resultado de uma única consulta, não ao tamanho do banco de dados. Veja quais operações são afetadas e como dividir leituras e exportações grandes.
Função da imagem: ilustração de apoio 2 — um aspecto específico diferente
Seção: Por que a exportação pela API REST é um caso à parte?
Tema visual: infográfico técnico em russo mostrando dois caminhos verificados: a consulta SQL retorna linhas
A leitura paginada divide as respostas das consultas SQL, enquanto a importação e a exportação pela API REST continuam sendo operações separadas.© jsonscraper · ilustração gerada por IA

Na prática, essa distinção ajuda a escolher o caminho certo. Se o aplicativo precisa de todos os registros para exibição, processamento ou elaboração de um relatório, divida a leitura em lotes. Se o objetivo é transferir ou exportar dados, avalie o fluxo de exportação pela API REST em vez de tentar obter todo o banco em uma única resposta SQL.

Como reduzir a resposta sem perder os dados necessários?

O primeiro passo é remover as colunas desnecessárias. Em vez de SELECT *, especifique apenas os campos necessários para a operação em questão. Isso reduz o volume da resposta, especialmente se a tabela contiver descrições longas, valores JSON ou BLOB.

O segundo passo é ler as linhas em partes usando LIMIT e OFFSET, como recomenda a Cloudflare. Por exemplo, uma interface pode buscar a página seguinte conforme a pessoa rola a tela, enquanto uma tarefa em lote pode processar cada parte separadamente. Adicione uma ordenação estável, por exemplo, por identificador único: sem ela, os limites entre as páginas podem mudar se os dados forem alterados entre as consultas.

Em exportações longas, também vale a pena armazenar um ponto de controle correspondente ao último registro processado. Assim, é possível retomar a tarefa após uma falha sem processar todo o conjunto novamente. O esquema específico depende do aplicativo; o princípio fundamental é limitar o tamanho de cada resposta, em vez de depender de uma única consulta que retorne todo o conjunto de uma vez.

O que verificar no aplicativo

Comece pelas consultas que retornam listas grandes: exportações para relatórios, telas administrativas, tarefas em segundo plano e rotas de API que fornecem matrizes de linhas. Registre temporariamente o tamanho da resposta serializada ou a quantidade e o tamanho dos campos selecionados. Depois, verifique o volume máximo esperado, e não apenas o pequeno conjunto de dados normalmente usado nos testes.

Se o aplicativo apresentar um erro após a mudança, a documentação do D1 o associa especificamente a resultados acima de 50 MB e recomenda selecionar apenas as colunas necessárias ou dividir o resultado em páginas. Isso ajuda a distinguir um problema com o tamanho da resposta de limitações de tempo de execução, memória ou disponibilidade do banco: elas têm erros e causas diferentes.

A conclusão para a equipe é simples: provavelmente não será necessário alterar consultas comuns e curtas, mas leituras grandes devem ser convertidas para processamento em lotes. O limite não impede armazenar um banco maior nem bloqueia a exportação pela API REST; ele exige projetar consultas de modo que cada resposta permaneça dentro de 50 MB.

Pessoas

Nenhuma pessoa listada para este artigo ainda.

Continue lendoCloudflare D1 vai limitar resultados de consultas: o que verificar antes de 4 de novembro
Leia o próximo artigo

Transforme o que lê numa integração funcional

Explore as APIs de dados sociais da jsonscraper, teste pedidos e crie o seu próximo fluxo de trabalho.

Explorar APIs