# D1 のクエリ結果が 50 MB 上限に！11 月 4 日から超えるとエラーだよ

こんにちは、しぃちゃんだよ！D1 を使っているみんなに、期限つきの大事なお知らせだよ。

## なにが発表されたの？

Cloudflare の Changelog で、D1 が 2026 年 11 月 4 日(水)から、クエリ結果の最大サイズ 50 MB を強制すると告知されたよ。

## 今までどうだったの？

これまでは、この 50 MB の上限は強制されていなかったよ。

## これで何が変わるの？

50 MB を超える結果を返すクエリは失敗して、次のエラーが返るようになるよ。

```
D1 query result exceeded the maximum response size limit of 50 MB
```

影響は小さい見込みで、この上限は D1 全体のリクエストの 99.999 パーセンタイルをカバーしているから、ほとんどのユーザーは影響を受けないみたい。

## 深く潜ってみよう

大きな結果を返しているクエリがある人は、施行日までに結果を小さくしてね。

- SELECT * をやめて、必要なカラムだけを選ぶ
- LIMIT と OFFSET でページネーションする

```sql
SELECT id, name FROM users ORDER BY id LIMIT 1000 OFFSET 0;
```

REST API 経由のインポートとエクスポートはこの上限の対象外で、今まで通り動くよ。詳しくは D1 の limits と error list のドキュメントを見てね。

## まとめ

- 2026 年 11 月 4 日から、D1 のクエリ結果は 50 MB まで
- 超えると上記のエラーで失敗する
- 対策は必要なカラムだけの取得とページネーション
- インポートとエクスポートは対象外

D1 で大きなテーブルを丸ごと読んでいるアプリを持つ人は、今のうちにチェックしてね！
