From 34eac4c24eba4166fbf17dadc71cf9645cd011fd Mon Sep 17 00:00:00 2001 From: darkskygit Date: Mon, 9 Sep 2024 09:39:28 +0000 Subject: [PATCH] feat: improve ai query performance (#8170) --- .../20240909090850_ai_table_index/migration.sql | 8 ++++++++ packages/backend/server/schema.prisma | 3 +++ 2 files changed, 11 insertions(+) create mode 100644 packages/backend/server/migrations/20240909090850_ai_table_index/migration.sql diff --git a/packages/backend/server/migrations/20240909090850_ai_table_index/migration.sql b/packages/backend/server/migrations/20240909090850_ai_table_index/migration.sql new file mode 100644 index 0000000000..db6f1de8ae --- /dev/null +++ b/packages/backend/server/migrations/20240909090850_ai_table_index/migration.sql @@ -0,0 +1,8 @@ +-- CreateIndex +CREATE INDEX "ai_sessions_messages_session_id_idx" ON "ai_sessions_messages"("session_id"); + +-- CreateIndex +CREATE INDEX "ai_sessions_metadata_user_id_idx" ON "ai_sessions_metadata"("user_id"); + +-- CreateIndex +CREATE INDEX "ai_sessions_metadata_user_id_workspace_id_idx" ON "ai_sessions_metadata"("user_id", "workspace_id"); diff --git a/packages/backend/server/schema.prisma b/packages/backend/server/schema.prisma index ce19086e2e..643f14b568 100644 --- a/packages/backend/server/schema.prisma +++ b/packages/backend/server/schema.prisma @@ -437,6 +437,7 @@ model AiSessionMessage { session AiSession @relation(fields: [sessionId], references: [id], onDelete: Cascade) + @@index([sessionId]) @@map("ai_sessions_messages") } @@ -457,6 +458,8 @@ model AiSession { prompt AiPrompt @relation(fields: [promptName], references: [name], onDelete: Cascade) messages AiSessionMessage[] + @@index([userId]) + @@index([userId, workspaceId]) @@map("ai_sessions_metadata") }