Skip to content

Commit 5597291

Browse files
authored
Schedules list performance (#1938)
* Order the schedules: most recent first * TaskSchedule dashboard speed indexes
1 parent 5c9610b commit 5597291

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

apps/webapp/app/presenters/v3/ScheduleListPresenter.server.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,7 @@ export class ScheduleListPresenter extends BasePresenter {
163163
},
164164
active: true,
165165
lastRunTriggeredAt: true,
166+
createdAt: true,
166167
},
167168
where: {
168169
projectId: project.id,
@@ -206,6 +207,9 @@ export class ScheduleListPresenter extends BasePresenter {
206207
}
207208
: undefined,
208209
},
210+
orderBy: {
211+
createdAt: "desc",
212+
},
209213
take: pageSize,
210214
skip: (page - 1) * pageSize,
211215
});
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-- CreateIndex
2+
CREATE INDEX CONCURRENTLY IF NOT EXISTS "TaskSchedule_projectId_idx" ON "TaskSchedule" ("projectId");
3+
4+
-- CreateIndex
5+
CREATE INDEX CONCURRENTLY IF NOT EXISTS "TaskSchedule_projectId_createdAt_idx" ON "TaskSchedule" ("projectId", "createdAt" DESC);

internal-packages/database/prisma/schema.prisma

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2933,6 +2933,9 @@ model TaskSchedule {
29332933
active Boolean @default(true)
29342934
29352935
@@unique([projectId, deduplicationKey])
2936+
/// Dashboard list view
2937+
@@index([projectId])
2938+
@@index([projectId, createdAt(sort: Desc)])
29362939
}
29372940

29382941
enum ScheduleType {

0 commit comments

Comments
 (0)