From 5e20094386fe8416b48bf4b17e62f8f65c24c446 Mon Sep 17 00:00:00 2001 From: boojack Date: Sat, 15 Jul 2023 10:26:31 +0800 Subject: [PATCH] chore: add indexes (#1959) --- store/db/migration/dev/LATEST__SCHEMA.sql | 10 +++++++++- ...e_public_id.sql => 00__drop_resource_public_id.sql} | 0 store/db/migration/prod/0.14/01__create_indexes.sql | 5 +++++ store/db/migration/prod/LATEST__SCHEMA.sql | 10 +++++++++- 4 files changed, 23 insertions(+), 2 deletions(-) rename store/db/migration/prod/0.14/{00_drop_resource_public_id.sql => 00__drop_resource_public_id.sql} (100%) create mode 100644 store/db/migration/prod/0.14/01__create_indexes.sql diff --git a/store/db/migration/dev/LATEST__SCHEMA.sql b/store/db/migration/dev/LATEST__SCHEMA.sql index c675118fb..03bef88ad 100644 --- a/store/db/migration/dev/LATEST__SCHEMA.sql +++ b/store/db/migration/dev/LATEST__SCHEMA.sql @@ -27,6 +27,8 @@ CREATE TABLE user ( avatar_url TEXT NOT NULL DEFAULT '' ); +CREATE INDEX idx_user_username ON user (username); + -- user_setting CREATE TABLE user_setting ( user_id INTEGER NOT NULL, @@ -46,6 +48,10 @@ CREATE TABLE memo ( visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE' ); +CREATE INDEX idx_memo_creator_id ON memo (creator_id); +CREATE INDEX idx_memo_content ON memo (content); +CREATE INDEX idx_memo_visibility ON memo (visibility); + -- memo_organizer CREATE TABLE memo_organizer ( memo_id INTEGER NOT NULL, @@ -79,6 +85,8 @@ CREATE TABLE resource ( internal_path TEXT NOT NULL DEFAULT '' ); +CREATE INDEX idx_resource_creator_id ON resource (creator_id); + -- memo_resource CREATE TABLE memo_resource ( memo_id INTEGER NOT NULL, @@ -128,4 +136,4 @@ CREATE TABLE memo_relation ( related_memo_id INTEGER NOT NULL, type TEXT NOT NULL, UNIQUE(memo_id, related_memo_id, type) -); \ No newline at end of file +); diff --git a/store/db/migration/prod/0.14/00_drop_resource_public_id.sql b/store/db/migration/prod/0.14/00__drop_resource_public_id.sql similarity index 100% rename from store/db/migration/prod/0.14/00_drop_resource_public_id.sql rename to store/db/migration/prod/0.14/00__drop_resource_public_id.sql diff --git a/store/db/migration/prod/0.14/01__create_indexes.sql b/store/db/migration/prod/0.14/01__create_indexes.sql new file mode 100644 index 000000000..721c05d85 --- /dev/null +++ b/store/db/migration/prod/0.14/01__create_indexes.sql @@ -0,0 +1,5 @@ +CREATE INDEX IF NOT EXISTS idx_user_username ON user (username); +CREATE INDEX IF NOT EXISTS idx_memo_creator_id ON memo (creator_id); +CREATE INDEX IF NOT EXISTS idx_memo_content ON memo (content); +CREATE INDEX IF NOT EXISTS idx_memo_visibility ON memo (visibility); +CREATE INDEX IF NOT EXISTS idx_resource_creator_id ON resource (creator_id); diff --git a/store/db/migration/prod/LATEST__SCHEMA.sql b/store/db/migration/prod/LATEST__SCHEMA.sql index c675118fb..03bef88ad 100644 --- a/store/db/migration/prod/LATEST__SCHEMA.sql +++ b/store/db/migration/prod/LATEST__SCHEMA.sql @@ -27,6 +27,8 @@ CREATE TABLE user ( avatar_url TEXT NOT NULL DEFAULT '' ); +CREATE INDEX idx_user_username ON user (username); + -- user_setting CREATE TABLE user_setting ( user_id INTEGER NOT NULL, @@ -46,6 +48,10 @@ CREATE TABLE memo ( visibility TEXT NOT NULL CHECK (visibility IN ('PUBLIC', 'PROTECTED', 'PRIVATE')) DEFAULT 'PRIVATE' ); +CREATE INDEX idx_memo_creator_id ON memo (creator_id); +CREATE INDEX idx_memo_content ON memo (content); +CREATE INDEX idx_memo_visibility ON memo (visibility); + -- memo_organizer CREATE TABLE memo_organizer ( memo_id INTEGER NOT NULL, @@ -79,6 +85,8 @@ CREATE TABLE resource ( internal_path TEXT NOT NULL DEFAULT '' ); +CREATE INDEX idx_resource_creator_id ON resource (creator_id); + -- memo_resource CREATE TABLE memo_resource ( memo_id INTEGER NOT NULL, @@ -128,4 +136,4 @@ CREATE TABLE memo_relation ( related_memo_id INTEGER NOT NULL, type TEXT NOT NULL, UNIQUE(memo_id, related_memo_id, type) -); \ No newline at end of file +);