diff --git a/internal-packages/database/prisma/migrations/20250611075637_remove_task_run_environment_created_at_id_index/migration.sql b/internal-packages/database/prisma/migrations/20250611075637_remove_task_run_environment_created_at_id_index/migration.sql new file mode 100644 index 0000000000..fef79ff3b8 --- /dev/null +++ b/internal-packages/database/prisma/migrations/20250611075637_remove_task_run_environment_created_at_id_index/migration.sql @@ -0,0 +1 @@ +DROP INDEX CONCURRENTLY IF EXISTS "TaskRun_runtimeEnvironmentId_createdAt_id_idx"; diff --git a/internal-packages/database/prisma/migrations/20250611080026_add_task_run_environment_id_index_including_created_at/migration.sql b/internal-packages/database/prisma/migrations/20250611080026_add_task_run_environment_id_index_including_created_at/migration.sql new file mode 100644 index 0000000000..9ca6e8c596 --- /dev/null +++ b/internal-packages/database/prisma/migrations/20250611080026_add_task_run_environment_id_index_including_created_at/migration.sql @@ -0,0 +1 @@ +CREATE INDEX CONCURRENTLY IF NOT EXISTS "TaskRun_runtimeEnvironmentId_id_idx" ON "TaskRun"("runtimeEnvironmentId", "id" DESC) INCLUDE ("createdAt") WITH (fillfactor = 90); diff --git a/internal-packages/database/prisma/migrations/20250611080322_add_task_run_environment_created_at_index_including_id/migration.sql b/internal-packages/database/prisma/migrations/20250611080322_add_task_run_environment_created_at_index_including_id/migration.sql new file mode 100644 index 0000000000..dfce46195b --- /dev/null +++ b/internal-packages/database/prisma/migrations/20250611080322_add_task_run_environment_created_at_index_including_id/migration.sql @@ -0,0 +1 @@ +CREATE INDEX CONCURRENTLY IF NOT EXISTS "TaskRun_runtimeEnvironmentId_createdAt_idx" ON "TaskRun"("runtimeEnvironmentId", "createdAt" DESC) INCLUDE ("id") WITH (fillfactor = 90); diff --git a/internal-packages/database/prisma/migrations/20250611080537_add_task_run_created_at_brin_index/migration.sql b/internal-packages/database/prisma/migrations/20250611080537_add_task_run_created_at_brin_index/migration.sql new file mode 100644 index 0000000000..fc74ac3fdb --- /dev/null +++ b/internal-packages/database/prisma/migrations/20250611080537_add_task_run_created_at_brin_index/migration.sql @@ -0,0 +1 @@ +CREATE INDEX CONCURRENTLY IF NOT EXISTS "TaskRun_createdAt_idx" ON "TaskRun" USING BRIN ("createdAt"); diff --git a/internal-packages/database/prisma/schema.prisma b/internal-packages/database/prisma/schema.prisma index 9065126290..06ca39d692 100644 --- a/internal-packages/database/prisma/schema.prisma +++ b/internal-packages/database/prisma/schema.prisma @@ -680,9 +680,12 @@ model TaskRun { // Schedule list page @@index([scheduleId, createdAt(sort: Desc)]) // Finding runs in a batch - @@index([runtimeEnvironmentId, batchId]) - @@index([runtimeEnvironmentId, createdAt(sort: Desc), id(sort: Desc)]) @@index([runTags(ops: ArrayOps)], type: Gin) + @@index([runtimeEnvironmentId, batchId]) + // This will include the createdAt index to help speed up the run list page + @@index([runtimeEnvironmentId, id(sort: Desc)]) + @@index([runtimeEnvironmentId, createdAt(sort: Desc)]) + @@index([createdAt], type: Brin) } enum TaskRunStatus {