跳至主要内容

过度获取数据

优化功能提供建议,帮助您识别和解决因过度获取数据而导致的性能问题。

以下查询可能会在对 User 模型进行查询时过度获取数据。

await prisma.user.findMany({
where: {
email: { contains: "gmail" },
},
include: {
links: true,
},
});

问题是什么?

从表的所有列中检索数据,尤其是在大型表或具有复杂关系的表中,可能会导致:

  • 加载时间增加:获取超出必要的数据会延长查询处理和数据传输时间。
  • 资源消耗增加:检索不必要的字段会给数据库以及运行应用程序的机器带来内存和 CPU 资源的压力。
  • 成本更高:读取和传输多余的数据可能会导致处理成本增加。
  • 安全风险:您可能会无意中暴露应保留在数据库中的敏感数据。
© . This site is unofficial and not affiliated with Prisma Data, Inc.