Visual LabINTERACTIVE LEARNING
01 · DATA MODELINGP010 MIN

Prisma / Drizzle ORM

理解 ORM 在类型、查询与迁移之间承担什么,以及它不能替你做什么。

MENTAL MODELOBJECT RELATIONAL MAPPING
01TypeScript 模型
02ORM 查询
03SQL
04PostgreSQL
ORM 是应用代码与 SQL 之间的翻译层和工具箱,不是数据库设计的自动驾驶。
01 · CONCEPTS & BOUNDARIES

先把概念与边界说清楚

定义告诉你它是什么,边界告诉你它不负责什么;企业系统最常见的误解通常发生在两者混用时。

01

ORM

把表、关系和查询映射为代码中的模型与 API,减少机械 SQL 并提供类型提示。

02

Prisma

以声明式 schema、生成客户端和迁移工作流为核心,开发体验完整。

03

Drizzle

更贴近 TypeScript 与 SQL 的轻量映射层,查询形态更透明。

02 · BLIND BOTS CASE

同一订单查询为什么在本地快、线上慢

问题现场

ORM 一行代码加载订单及所有关联项,上线后产生数百条查询。

  1. 01

    打开查询日志确认 N+1。

  2. 02

    改为显式选择字段和批量加载关联。

  3. 03

    用 EXPLAIN 验证索引与行数估计。

得到什么

保留类型安全,同时把请求查询数从 201 次降到 3 次。

03 · PRACTICE

马上动手

  1. 分别写出 ORM 适合和应直接使用 SQL 的场景。
  2. 为查询日志设置开发环境开关。
04 · PITFALLS

常见坑

  • 不会 SQL 就直接上 ORM
  • 默认加载整棵关系树
  • 混淆 schema push 与正式 migration
05 · KNOWLEDGE CHECKPrisma 和 Drizzle 应该怎么选?查看答案⌄
答案

按团队 SQL 熟悉度、迁移方式、查询复杂度和运行环境选;两者都必须建立在正确关系模型与可观察 SQL 之上。