跳至主要内容

@dataplan/pg

这组步骤在直接处理 Postgres 时提供了惊人的性能。

为了运行,@dataplan/pg 需要了解您的数据库。为此,它使用以下概念:编解码器(表示数据库中的类型 - 标量和复合类型)、资源(表示数据库中的数据源 - 表、视图、函数等)和关系(表示编解码器与其相关资源之间的链接)。这三者共同构成了注册表

创建注册表后,您可以使用它从表/视图中获取行(通过 resource.get()(单个)或 resource.find()(多个)),调用数据库函数(通过 resource.execute()),或执行修改操作(通过 pgInsertSingle()pgUpdateSingle()pgDeleteSingle())。

得益于 Grafast 的规划系统和 @dataplan/pg 对您的数据库的理解,当您使用表示表的步骤上的方法来访问其属性、遍历其关系、设置其列等时,@dataplan/pg 可以查看您正在执行的操作,并编译最有效的 SQL 查询,以最小的数据库工作量来满足您的需求。所有这些都在幕后完成,您无需操心(尽管如果您想深入了解,例如处理性能边缘情况,我们会为您提供工具来影响它)。

@dataplan/pg 的设计易于使用;虽然它不是 ORM(处理表示 Grafast 计划图中节点的“步骤”,而不是处理具体的运行时数据),但它为所有最常见的操作提供了帮助程序,以及 API,允许您在需要时添加自己的 SQL 表达式和源。

信息

代码示例中对 sql 的引用是指 import { sql } from "pg-sql2"; - @dataplan/pg 大量使用这个高效、类型安全、防注入的 SQL 构建器。

让我们从构建注册表开始。