跳转到内容
搜索文档

限制

最后更新 查看 MarkdownAgent 设置
功能 限制
每个账户的数据库数量 50,000(Workers Paid)1 / 10(Free)
最大数据库大小 10 GB(Workers Paid)/ 500 MB(Free)
每个账户的最大存储 1 TB(Workers Paid)2 / 5 GB(Free)
Time Travel 持续时间(时间点恢复) 30 天(Workers Paid)/ 7 天(Free)
最大 Time Travel 恢复操作 每 10 分钟 10 次恢复(每个数据库)
每次 Worker 调用的查询数(读取子请求限制 1000(Workers Paid)/ 50(Free)
每个表的最大列数 100
每个表的最大行数 无限制(不包括每个数据库的存储限制)
最大字符串、BLOB 或表行大小 2,000,000 字节(2 MB)
最大 SQL 语句长度 100,000 字节(100 KB)
每个查询的最大绑定参数 100
每个 SQL 函数的最大参数 32
LIKEGLOB 模式中的最大字符(字节)数 50 字节
每个 Workers 脚本的最大绑定数 约 5,000 3
最大 SQL 查询持续时间 30 秒 4
最大文件导入(d1 execute)大小 5 GB 5

Cloudflare 还提供其他存储解决方案,例如 Workers KVDurable ObjectsR2。每种产品有不同的优势和限制。请参阅选择数据或存储产品,了解哪种存储选项适合您的用例。

常见问题

与 D1 限制相关的常见问题:

D1 数据库能处理多少工作负载?

D1 设计用于在多个较小的(10 GB)数据库之间水平扩展,例如按用户、按租户或按实体的数据库。 D1 允许您构建包含数千个数据库的应用程序,无需额外费用,因为定价仅基于查询和存储成本。

存储

每个 D1 数据库最多可存储 10 GB 数据。

并发和吞吐量

每个单独的 D1 数据库本质上是单线程的,一次处理一个查询。

您的最大吞吐量与查询持续时间直接相关。

  • 如果平均查询耗时 1 ms,您大约可以每秒运行 1,000 次查询。
  • 如果平均查询耗时 100 ms,您每秒可以运行 10 次查询。

收到过多并发请求的数据库将首先尝试将它们排队。如果队列已满,数据库将返回"过载"错误

每个单独的 D1 数据库由单个 Durable Objects 支持。使用 D1 读复制 时,每个副本实例是不同的 Durable Object,这些准则独立适用于每个副本实例。

查询性能

查询性能是吞吐量的最重要因素。作为粗略指南:

  • id 有适当索引的读查询(如 SELECT name FROM users WHERE id = ?)SQL 执行时间通常不到一毫秒。
  • 写查询(如 INSERTUPDATE)SQL 执行时间可能需要几毫秒,取决于写入的行数。写入需要在多个位置持久保存——了解更多关于 D1 如何在底层持久化数据 的信息。
  • 影响数百万行的大型 UPDATEDELETE 等数据迁移必须分批运行。试图一次修改数十万行或数百 MB 数据的单个查询将超出执行限制。将工作拆分为较小的块(例如,每次处理 1,000 行)以保持在平台限制内。

为确保查询快速高效,在 SQL 模式中使用适当的索引

CPU 和内存

D1 数据库上的操作(包括查询执行和结果序列化)在 Workers 平台 CPU 和内存限制 内运行。

超出这些限制或达到其他平台限制将产生错误。有关更多详细信息,请参阅 D1 错误列表

Worker 可以向 D1 打开多少个同时连接?

每次 Worker 调用最多可以同时打开六个(到 D1 的)连接。

有关 Worker 同时连接的更多信息,请参阅同时打开的连接数

Footnotes

  1. 每个账户的最大数据库数量可在 Workers Paid 和 Enterprise 套餐上按请求增加,支持每个账户数百万至数千万(或更多)数据库。请参阅本页关于增加限制的说明以请求增加。

  2. 每个账户的最大存储可在 Workers Paid 和 Enterprise 套餐上按请求增加。请参阅本页关于增加限制的说明以请求增加。

  3. 单个 Worker 脚本最多可有 1 MB 的脚本元数据。绑定定义为对资源的绑定,例如 D1 数据库、KV 命名空间、环境变量或密钥。每个资源绑定约 150 字节,但环境变量和密钥的大小由您提供的值控制。不包括环境变量,单个 Worker 脚本最多可绑定约 5,000 个 D1 数据库。

  4. 对 Cloudflare API 的请求必须在 30 秒内完成。因此,此持续时间限制也适用于整个批处理调用。

  5. 导入的文件上传到 R2。请参阅 R2 上传限制

这篇文档对您有帮助吗?