From 64d50dc4b7d0987ca1e2db87e367e36333d57736 Mon Sep 17 00:00:00 2001 From: bo0tzz Date: Wed, 28 Oct 2026 11:22:02 +0100 Subject: [PATCH] perf(server): index asset (ownerId, updateId) for sync (#32624) (cherry picked from commit 73603bcafe5d1e52434f736476d07c9578f3b888) --- .../1792568637987-AddAssetOwnerIdUpdateIdIndex.ts | 9 +++++++++ server/src/schema/migrations/ORDER | 1 + server/src/schema/tables/asset.table.ts | 1 + 3 files changed, 11 insertions(+) create mode 100644 server/src/schema/migrations/1792568637987-AddAssetOwnerIdUpdateIdIndex.ts diff --git a/server/src/schema/migrations/1792568637987-AddAssetOwnerIdUpdateIdIndex.ts b/server/src/schema/migrations/1792568637987-AddAssetOwnerIdUpdateIdIndex.ts new file mode 100644 index 000000000..1168ce5fa --- /dev/null +++ b/server/src/schema/migrations/1792568637987-AddAssetOwnerIdUpdateIdIndex.ts @@ -0,0 +1,9 @@ +import { Kysely, sql } from 'kysely'; + +export async function up(db: Kysely): Promise { + await sql`CREATE INDEX "asset_ownerId_updateId_idx" ON "asset" ("ownerId", "updateId");`.execute(db); +} + +export async function down(db: Kysely): Promise { + await sql`DROP INDEX "asset_ownerId_updateId_idx";`.execute(db); +} diff --git a/server/src/schema/migrations/ORDER b/server/src/schema/migrations/ORDER index a334973b4..22ad10006 100644 --- a/server/src/schema/migrations/ORDER +++ b/server/src/schema/migrations/ORDER @@ -101,3 +101,4 @@ 1792213725597-AddAssetFaceAssetState 1792511451454-AddPasskeyTable 1792517020180-AddUpdateIdIndexes +1792568637987-AddAssetOwnerIdUpdateIdIndex diff --git a/server/src/schema/tables/asset.table.ts b/server/src/schema/tables/asset.table.ts index ff8e1fcba..6963973c9 100644 --- a/server/src/schema/tables/asset.table.ts +++ b/server/src/schema/tables/asset.table.ts @@ -56,6 +56,7 @@ import { ASSET_CHECKSUM_CONSTRAINT } from 'src/utils/database.js'; }) @Index({ columns: ['originalPath', 'libraryId'] }) @Index({ columns: ['id', 'stackId'] }) +@Index({ columns: ['ownerId', 'updateId'] }) @Index({ name: 'asset_originalFilename_trigram_idx', using: 'gin',