跳到主要內容

實例化 Prisma Client

以下範例示範如何從產生的用戶端,從預設路徑匯入和實例化。

import { PrismaClient } from '@prisma/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