perf: optimisations DB — batch queries et index

- createEvaluation: remplace N create() par un createMany() (N→1 requête)
- updateEvaluation: regroupe les upserts en $transaction() parallèle
- Ajout d'index sur Evaluation.evaluatorId, Evaluation.templateId,
  EvaluationShare.userId et AuditLog.evaluationId

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-25 13:27:57 +01:00
parent 99e1a06137
commit 27866091bf
3 changed files with 50 additions and 29 deletions

View File

@@ -66,6 +66,9 @@ model Evaluation {
isPublic Boolean @default(false) // visible par tous (ex. démo)
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
@@index([evaluatorId])
@@index([templateId])
}
model EvaluationShare {
@@ -77,6 +80,7 @@ model EvaluationShare {
createdAt DateTime @default(now())
@@unique([evaluationId, userId])
@@index([userId])
}
model DimensionScore {
@@ -106,4 +110,6 @@ model AuditLog {
newValue String?
userId String?
createdAt DateTime @default(now())
@@index([evaluationId])
}