SuperAPI AI 工具集

cloudflare-d1

数据与分析

查看项目

更新于 10-15 22:39

技能介绍

用途:Cloudflare D1 是 Cloudflare 边缘网络上的无服务器 SQLite 数据库,该技能提供从建库到查询、迁移、错误处理与性能优化的完整知识,用于在 Worker 中通过绑定访问 D1。

主要能力:使用 wrangler 命令创建数据库并在 wrangler.jsonc 中配置 d1_databases 绑定;通过迁移系统创建、列出和应用 SQL 迁移(本地与远程);在 Worker 中使用 prepare() 预编译语句执行 CRUD、分页、Join;使用 all()、first()、run()、batch()、exec() 等方法;用 batch() 减少延迟并模拟顺序事务;处理 D1_ERROR、D1_TYPE_ERROR 等错误并进行重试;通过索引、EXPLAIN QUERY PLAN 与 PRAGMA optimize 优化性能。

使用方式:先执行 npx wrangler d1 create my-database,保存 database_id 并写入 wrangler.jsonc;绑定 DB 后在代码中用 env.DB 访问。迁移流程为 npx wrangler d1 migrations create/app/list/apply,先 --local 测试再 --remote 发布。查询必须使用 env.DB.prepare(...).bind(...) 防止注入;批量写入用 env.DB.batch()。

适用场景:Cloudflare Workers 内的用户、文章、评论等数据读写,分页查询、关联查询、批量插入和索引优化。

限制:D1 不支持多语句事务,batch() 为顺序执行且逐条自动提交;exec() 不返回数据、不适合生产查询;绑定值不支持 undefined,需用 null;迁移一旦应用不能修改或删除;迁移文件内不要写 BEGIN TRANSACTION;不要将真实 database_id 提交到公开仓库。资料未提供定价、区域限制与配额的具体信息。