過度獲取
Optimize 提供建議,幫助您識別和解決因過度獲取資料而導致的效能問題。
以下查詢可能在針對 `User` 模型的查詢中過度獲取資料。
await prisma.user.findMany({
where: {
email: { contains: "gmail" },
},
include: {
links: true,
},
});
問題是什麼?
從表的所有列中檢索資料,尤其是在大型表或具有複雜關係的表中,可能會導致
- 載入時間增加:獲取比所需更多的資料會延長查詢處理和資料傳輸時間。
- 資源消耗增加:檢索不必要的欄位會給資料庫以及執行您應用程式的機器上的記憶體和 CPU 資源帶來壓力。
- 成本更高:讀取和傳輸多餘資料可能導致處理成本增加。
- 安全風險:您可能會無意中洩露應保留在資料庫中的敏感資料。