From 0abf9df84e9a89a05a3791e079171ca2228eef30 Mon Sep 17 00:00:00 2001 From: Ho Ngoc Hai Date: Wed, 8 Apr 2026 22:43:59 +0700 Subject: [PATCH] fix(db): add missing Review.userId index for FK query performance The Review table was missing an index on userId, causing full table scans when querying reviews by user. All other FK columns across 22 models were verified to have proper indexes already (including Listing.sellerId which was added in a prior migration). Co-Authored-By: Paperclip --- .../20260408160000_add_review_userid_index/migration.sql | 5 +++++ prisma/schema.prisma | 1 + 2 files changed, 6 insertions(+) create mode 100644 prisma/migrations/20260408160000_add_review_userid_index/migration.sql diff --git a/prisma/migrations/20260408160000_add_review_userid_index/migration.sql b/prisma/migrations/20260408160000_add_review_userid_index/migration.sql new file mode 100644 index 0000000..d3e532e --- /dev/null +++ b/prisma/migrations/20260408160000_add_review_userid_index/migration.sql @@ -0,0 +1,5 @@ +-- CreateIndex +-- Safe for production: CREATE INDEX CONCURRENTLY does not lock the table for writes. +-- Note: Prisma migrations do not support CONCURRENTLY natively. +-- For large tables, run this manually with CONCURRENTLY outside of a transaction. +CREATE INDEX "Review_userId_idx" ON "Review"("userId"); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 0cb5acf..82f17a9 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -567,4 +567,5 @@ model Review { createdAt DateTime @default(now()) @@index([targetType, targetId]) + @@index([userId]) }