メインコンテンツへスキップ

オーバーフェッチ

Optimizeは、オーバーフェッチされたデータによって引き起こされるパフォーマンスの問題を特定し、解決するための推奨事項を提供します。

以下のクエリは、`User` モデルに対するクエリでデータをオーバーフェッチしている可能性があります。

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

何が問題ですか?

テーブルのすべてのカラムからデータを取得することは、特に大規模なテーブルや複雑なリレーションシップを持つテーブルの場合、以下の結果につながる可能性があります。

  • ロード時間の増加: 必要以上のデータをフェッチすると、クエリ処理時間とデータ転送時間が長くなります。
  • リソース消費の増大: 不要なフィールドを取得すると、データベースとアプリケーションを実行しているマシンの両方で、メモリとCPUリソースに負担がかかります。
  • コストの増加: 余分なデータを読み取り、転送すると、処理コストが増加する可能性があります。
  • セキュリティリスク: データベース内に保持すべき機密データが、意図せず公開されてしまう可能性があります。
© . All rights reserved.