过度获取
Optimize 提供建议,帮助您识别和解决由过度获取数据引起的性能问题。
以下查询在针对 User
模型的查询中可能存在过度获取数据的问题
await prisma.user.findMany({
where: {
email: { contains: "gmail" },
},
include: {
links: true,
},
});
问题是什么?
从表的所有列中检索数据,尤其是在大型表或具有复杂关系的表中,可能会导致
- 加载时间增加:获取比必要更多的数据会延长查询处理和数据传输时间。
- 资源消耗增加:检索不必要的字段会给内存和 CPU 资源带来压力,无论是在数据库中还是在运行您应用程序的机器上。
- 成本更高:读取和传输冗余数据可能导致处理成本增加。
- 安全风险:您可能会无意中暴露应保留在数据库中的敏感数据。