Skip to content

Commit af67bb2

Browse files
committed
feat: add query indexes for better database performance
- Add journal_entry_user_id_date_desc_index for efficient journal entry queries by user and date - Update page_user_id_updated_at_desc_index to use proper descending order syntax - These indexes will improve performance for: - Journal timeline queries (user_id + date desc) - Page pagination queries (user_id + updated_at desc) - User-specific data filtering and sorting operations
1 parent 17f631f commit af67bb2

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

packages/db/src/core/journal-entry.schema.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { relations, sql } from "drizzle-orm";
2-
import { pgTable, text, unique } from "drizzle-orm/pg-core";
2+
import { index, pgTable, text, unique } from "drizzle-orm/pg-core";
33
import { createSelectSchema } from "drizzle-zod";
44
import z from "zod/v4";
55
import { user } from "../auth/user.schema.js";
@@ -31,6 +31,7 @@ export const JournalEntry = pgTable(
3131
(t) => [
3232
// Enforce uniqueness: one journal entry per user per day
3333
unique("journal_entry_unique_user_date").on(t.user_id, t.date),
34+
index("journal_entry_user_id_date_desc_index").on(t.user_id, t.date.desc()),
3435
],
3536
);
3637

packages/db/src/core/page.schema.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,9 @@ export const Page = pgTable(
3030
.$onUpdateFn(() => sql`now()`),
3131
}),
3232
(t) => [
33-
index("page_user_id_updated_at_index").using(
34-
"btree",
33+
index("page_user_id_updated_at_desc_index").on(
3534
t.user_id,
36-
t.updated_at,
35+
t.updated_at.desc(),
3736
),
3837
],
3938
);

0 commit comments

Comments
 (0)