伟大的 ORM 转折:为何团队在 2025 年转向 Drizzle

发布: (2025年12月30日 GMT+8 12:48)
3 min read
原文: Dev.to

Source: Dev.to

Prisma 方法

Prisma 使用用 Rust 编写的强大查询引擎。它稳健且安全,但它是一个 体积庞大 的二进制文件。在长期运行的服务器中,这种开销可以忽略不计,但在仅运行几毫秒后就会休眠的无服务器函数中,额外约 10 MB 的二进制文件会导致明显的冷启动延迟。

Drizzle 转向

Drizzle 是 TypeScript 原生 的——没有二进制文件,仅是围绕原始 SQL 的轻量、类型安全包装器。其打包体积以千字节计,而不是兆字节。

模式定义

你使用标准的 TypeScript 对象来定义表。无需代码生成步骤;类型会即时推断。

// Example schema definition (TypeScript)
export const users = pgTable('users', {
  id: serial('id').primaryKey(),
  name: varchar('name', { length: 255 }).notNull(),
  email: varchar('email', { length: 255 }).unique().notNull(),
});

查询

只要懂 SQL,就懂 Drizzle。查询直接映射为 SQL 语句。

// Simple select query
const result = await db.select().from(users).where(eq(users.id, 1));

性能

因为 Drizzle 并未抽象掉 SQL,你可以编写复杂的 JOIN 和 CTE,而 Prisma 过去在这方面常常难以优化。这使得它非常适合每毫秒都至关重要的边缘环境。

在 Prisma 与 Drizzle 之间的选择

  • 如果 你在传统 VPS(如 AWS EC2、DigitalOcean)上构建大型企业应用,并且看重 “开箱即用” 的生态系统(Prisma Studio、Pulse、高级迁移),则继续使用 Prisma
  • 如果 你部署到边缘平台(Vercel、Netlify、Cloudflare Workers、Bun),且冷启动时间直接影响转化率,则转向 Drizzle

“开发者体验 vs. 用户体验”的争论终于上升到数据库层面。2025 年, “够用” 的性能已不再满足边缘部署的需求。Drizzle 不仅是一个潮流,更是对现代云计算技术需求的响应。

你选择的 ORM 不再仅仅关乎代码编写的速度——而是关乎用户运行代码的速度。

Back to Blog

相关文章

阅读更多 »