跳至主要内容

重复查询

Optimize 提供建议,帮助您识别和解决由重复查询引起的性能问题。

以下针对 Post 模型的查询会使用相同的参数重复执行

await prisma.post.findMany({
where: {
published: true
},
take: 20
})

问题是什么?

当同一个查询在短时间内使用相同参数多次执行时,可能导致以下问题

  • 时间浪费: 应用程序和数据库之间可能建立新连接,查询及其参数被发送到数据库,数据库处理查询,然后将结果发送回应用程序。
  • 资源使用增加: 查询执行会增加 CPU 和内存使用,以及磁盘 I/O,给数据库的系统资源带来压力。
  • 成本更高: 在无服务器数据库定价模型中,更高的资源使用率可能导致成本增加。
信息

要了解如何通过在 Prisma Postgres 中使用缓存来避免重复查询,请参阅缓存文档