查询性能
当涉及 Drizzle 时 — 我们是一个薄的 TypeScript 层,位于 SQL 之上,几乎没有额外开销,并且为了使其实际为 0,您可以利用我们的预处理语句 API。
当您在数据库上运行查询时,会发生几件事情:
- 查询构建器的所有配置都被连接到 SQL 字符串中
- 该字符串和参数被发送到数据库驱动程序
- 驱动程序将 SQL 查询编译为二进制 SQL 可执行格式,并将其发送到数据库
使用预处理语句,您可以在 Drizzle ORM 端一次进行 SQL 连接,然后数据库驱动程序能够重用预编译的二进制 SQL,而不是一直解析查询。这对大型 SQL 查询有极大的性能优势。
不同的数据库驱动程序以不同的方式支持预处理语句,有时候 Drizzle ORM 甚至可以比 better-sqlite3 驱动程序更快。
预处理语句
占位符
每当您需要嵌入动态运行时值时 - 您可以使用 sql.placeholder(...)
api