Skip to content

Commit 6464f34

Browse files
committed
improve indexes
1 parent ff7f726 commit 6464f34

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

packages/prisma/migrations/20240320000001_add_booking_time_status_denormalized/migration.sql

+4-2
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,14 @@ CREATE TABLE "BookingTimeStatusDenormalized" (
2929
CREATE INDEX "idx_booking_user_id" ON "BookingTimeStatusDenormalized" ("userId");
3030
CREATE INDEX "idx_booking_created_at" ON "BookingTimeStatusDenormalized" ("createdAt");
3131
CREATE INDEX "idx_event_type_id" ON "BookingTimeStatusDenormalized" ("eventTypeId");
32-
CREATE INDEX "idx_event_type_hierarchy" ON "BookingTimeStatusDenormalized" ("eventTypeId", "eventParentId");
32+
CREATE INDEX "idx_event_parent_id" ON "BookingTimeStatusDenormalized" ("eventParentId");
3333
CREATE INDEX "idx_booking_time_status" ON "BookingTimeStatusDenormalized" ("timeStatus");
3434
CREATE INDEX "idx_booking_team_id" ON "BookingTimeStatusDenormalized" ("teamId");
3535
CREATE INDEX "idx_booking_start_time" ON "BookingTimeStatusDenormalized" ("startTime");
3636
CREATE INDEX "idx_booking_end_time" ON "BookingTimeStatusDenormalized" ("endTime");
3737
CREATE INDEX "idx_booking_status" ON "BookingTimeStatusDenormalized" ("status");
38+
CREATE INDEX "idx_booking_team_id_team_booking" ON "BookingTimeStatusDenormalized" ("teamId", "isTeamBooking");
39+
CREATE INDEX "idx_booking_user_id_team_booking" ON "BookingTimeStatusDenormalized" ("userId", "isTeamBooking");
3840

3941
-- Function to calculate timeStatus
4042
CREATE OR REPLACE FUNCTION calculate_time_status(
@@ -67,7 +69,7 @@ RETURNS VOID AS $$
6769
BEGIN
6870
-- Delete existing entry if any
6971
DELETE FROM "BookingTimeStatusDenormalized" WHERE id = booking_id;
70-
72+
7173
-- Insert non-team booking
7274
INSERT INTO "BookingTimeStatusDenormalized"
7375
SELECT

packages/prisma/schema.prisma

+3-1
Original file line numberDiff line numberDiff line change
@@ -2114,10 +2114,12 @@ model BookingTimeStatusDenormalized {
21142114
@@index([userId], name: "idx_booking_user_id")
21152115
@@index([createdAt], name: "idx_booking_created_at")
21162116
@@index([eventTypeId], name: "idx_event_type_id")
2117-
@@index([eventTypeId, eventParentId], name: "idx_event_type_hierarchy")
2117+
@@index([eventParentId], name: "idx_event_parent_id")
21182118
@@index([timeStatus], name: "idx_booking_time_status")
21192119
@@index([teamId], name: "idx_booking_team_id")
21202120
@@index([startTime], name: "idx_booking_start_time")
21212121
@@index([endTime], name: "idx_booking_end_time")
21222122
@@index([status], name: "idx_booking_status")
2123+
@@index([teamId, isTeamBooking], name: "idx_booking_team_id_team_booking")
2124+
@@index([userId, isTeamBooking], name: "idx_booking_user_id_team_booking")
21232125
}

0 commit comments

Comments
 (0)