跳到主要内容

返回过多行

Optimize 提供建议,帮助您识别和解决由查询返回过多行引起的性能问题。

以下针对 User 模型的查询未提供 take 选项

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

有什么问题?

当执行查询时未指定限制,它将返回所有相关行,这可能导致一些问题

用户体验

  • 查看数据:用户通常只需要在任何给定时间看到一部分数据,而不是全部。
  • 对用户设备的影响:一次性显示所有数据会占用用户设备资源。例如,在 Web 应用中加载成千上万行数据可能会导致浏览器变慢或冻结,消耗大量内存和 CPU 资源。
  • 等待时间:检索大量行会显著增加将数据从数据库获取到用户设备所需的时间。

资源利用

  • 不必要的数据加载:处理超出需求的数据会浪费宝贵的资源。
  • 内存使用:过多的内存消耗可能导致效率低下,严重时甚至导致系统内存耗尽,中断服务。