返回行數過多
Optimize 提供建議,幫助您識別並解決由查詢返回行數過多引起的效能問題。
以下針對 User 模型的查詢未提供 take 選項
await prisma.user.findMany({ where: { email: "janedoe@gmail.com" }})
問題是什麼?
當未指定限制而執行查詢時,它將返回所有相關行,這可能導致若干問題
使用者體驗
- 資料檢視:使用者通常只需要部分資料,而不是一次性全部資料。
- 對使用者裝置的影響:一次性顯示所有資料會佔用使用者裝置的資源。例如,在 Web 應用程式中載入數千行可能會使瀏覽器變慢或凍結,消耗大量記憶體和 CPU 資源。
- 等待時間:檢索大量行會顯著增加從資料庫獲取資料到使用者裝置的時間。
資源利用率
- 不必要的資料載入:處理超出所需的資料會浪費寶貴的資源。
- 記憶體使用:過度的記憶體消耗會導致效率低下,在嚴重情況下,可能導致系統記憶體不足,從而中斷服務。