跳至主要内容

实例化 Prisma 客户端

以下示例演示了如何从默认路径导入和实例化您生成的客户端

import { PrismaClient } from '../prisma/generated/client'

const prisma = new PrismaClient()
提示

您可以使用构造函数参数进一步自定义 PrismaClient——例如,设置日志级别事务选项或自定义错误格式

PrismaClient 实例的数量很重要

您的应用程序通常应该只创建 PrismaClient 的**一个实例**。如何实现这一点取决于您是在长期运行的应用程序中还是在无服务器环境中使用 Prisma ORM。

原因在于 PrismaClient 的每个实例都管理着一个连接池,这意味着大量的客户端可能会**耗尽数据库连接限制**。这适用于所有数据库连接器。

如果您使用 **MongoDB 连接器**,连接由 MongoDB 驱动程序连接池管理。如果您使用**关系数据库连接器**,连接由 Prisma ORM 的连接池管理。PrismaClient 的每个实例都会创建自己的连接池。

  1. 每个客户端都会创建自己的查询引擎实例。

  2. 每个查询引擎都会创建一个连接池,默认池大小为

  3. 过多的连接可能会开始**减慢数据库速度**,并最终导致错误,例如

    Error in connector: Error querying the database: db error: FATAL: sorry, too many clients already
    at PrismaClientFetcher.request
© . This site is unofficial and not affiliated with Prisma Data, Inc.