跳到主要內容

傳回過多列數

「最佳化」提供建議,協助您找出並解決因查詢傳回過多列數而造成的效能問題。

以下針對 User 模型的查詢未提供 take 選項

await prisma.user.findMany({ where: { email: "janedoe@gmail.com" }})

問題是什麼?

當執行查詢時未指定限制,它將傳回所有相關的列數,這可能會導致幾個問題

使用者體驗

  • 檢視資料: 使用者通常在任何給定時間只需要一部分資料,而不是一次全部資料。
  • 對使用者裝置的影響: 一次顯示所有資料可能會對使用者的裝置資源造成壓力。例如,在 Web 應用程式中載入數千列可能會減慢或凍結瀏覽器,並消耗大量記憶體和 CPU 資源。
  • 等待時間: 檢索大量列數可能會顯著增加從資料庫取得資料到使用者裝置所需的時間。

資源利用率

  • 不必要的資料載入: 處理超過需求的資料會浪費寶貴的資源。
  • 記憶體用量: 過多的記憶體消耗可能導致效率低下,嚴重時,可能會導致系統記憶體不足,中斷服務。