From 19adb3ab4438ba0754a807d9cd106c3644b188c9 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Sat, 2 Mar 2024 19:21:48 -0600 Subject: [PATCH] Use composite index for tags --- src/db/migrations/012_tags_composite_index.ts | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/db/migrations/012_tags_composite_index.ts diff --git a/src/db/migrations/012_tags_composite_index.ts b/src/db/migrations/012_tags_composite_index.ts new file mode 100644 index 00000000..418df28e --- /dev/null +++ b/src/db/migrations/012_tags_composite_index.ts @@ -0,0 +1,31 @@ +import { Kysely } from '@/deps.ts'; + +export async function up(db: Kysely): Promise { + await db.schema.dropIndex('idx_tags_tag').on('tags').execute(); + await db.schema.dropIndex('idx_tags_value').on('tags').execute(); + + await db.schema + .createIndex('idx_tags_tag_value') + .on('tags') + .columns(['tag', 'value']) + .execute(); +} + +export async function down(db: Kysely): Promise { + await db.schema + .dropIndex('idx_tags_tag_value') + .on('tags') + .execute(); + + await db.schema + .createIndex('idx_tags_tag') + .on('tags') + .column('tag') + .execute(); + + await db.schema + .createIndex('idx_tags_value') + .on('tags') + .column('value') + .execute(); +}