繰り返しクエリ
Optimizeは、繰り返しクエリによって引き起こされるパフォーマンス問題を特定し、解決するための推奨事項を提供します。
`Post` モデルをターゲットとする以下のクエリが、同一のパラメータで繰り返し実行されています
await prisma.post.findMany({
where: {
published: true
},
take: 20
})
問題とは?
短期間に同じパラメータで同じクエリが複数回実行されると、以下の問題が発生する可能性があります。
- 時間の無駄: アプリケーションとデータベース間に新しい接続が確立され、クエリとそのパラメータがデータベースに送信され、データベースがクエリを処理し、結果がアプリケーションに返される可能性があります。
- リソース使用量の増加: クエリの実行はCPUとメモリの使用量、およびディスクI/Oを増加させ、データベースのシステムリソースに負担をかけます。
- コストの増加: サーバーレスデータベースの料金モデルでは、リソース使用量が増加するとコストが増大する可能性があります。
情報
Prisma Postgresでのキャッシングによる繰り返しクエリの回避についてさらに学ぶには、キャッシングのドキュメントを参照してください。