重复查询
Optimize 提供建议,帮助您识别和解决由重复查询引起的性能问题。
以下针对 Post
模型的查询会使用相同的参数重复执行
await prisma.post.findMany({
where: {
published: true
},
take: 20
})
问题是什么?
当同一个查询在短时间内使用相同参数多次执行时,可能导致以下问题
- 时间浪费: 应用程序和数据库之间可能建立新连接,查询及其参数被发送到数据库,数据库处理查询,然后将结果发送回应用程序。
- 资源使用增加: 查询执行会增加 CPU 和内存使用,以及磁盘 I/O,给数据库的系统资源带来压力。
- 成本更高: 在无服务器数据库定价模型中,更高的资源使用率可能导致成本增加。
信息
要了解如何通过在 Prisma Postgres 中使用缓存来避免重复查询,请参阅缓存文档。