From 62392fd14cec117b8616eb2ee9b9aa506b7c8366 Mon Sep 17 00:00:00 2001 From: Ludvig Lundgren Date: Thu, 16 Jun 2022 00:32:55 +0200 Subject: [PATCH] feat(releases): add more database indexes (#310) --- internal/database/migrate.go | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/internal/database/migrate.go b/internal/database/migrate.go index ab132f8..8c3048a 100644 --- a/internal/database/migrate.go +++ b/internal/database/migrate.go @@ -24,6 +24,9 @@ CREATE TABLE indexer UNIQUE (identifier) ); +CREATE INDEX indexer_identifier_index + ON indexer (identifier); + CREATE TABLE irc_network ( id INTEGER PRIMARY KEY, @@ -207,6 +210,15 @@ CREATE TABLE "release" CREATE INDEX release_filter_id_index ON "release" (filter_id); +CREATE INDEX release_indexer_index + ON "release" (indexer); + +CREATE INDEX release_timestamp_index + ON "release" (timestamp DESC); + +CREATE INDEX release_torrent_name_index + ON "release" (torrent_name); + CREATE TABLE release_action_status ( id INTEGER PRIMARY KEY, @@ -221,6 +233,9 @@ CREATE TABLE release_action_status FOREIGN KEY (release_id) REFERENCES "release"(id) ON DELETE CASCADE ); +CREATE INDEX release_action_status_release_id_index + ON release_action_status (release_id); + CREATE TABLE notification ( id INTEGER PRIMARY KEY, @@ -774,6 +789,22 @@ ALTER TABLE release_dg_tmp CREATE INDEX release_filter_id_index ON "release" (filter_id); `, + ` +CREATE INDEX release_action_status_release_id_index + ON release_action_status (release_id); + +CREATE INDEX release_indexer_index + ON "release" (indexer); + +CREATE INDEX release_timestamp_index + ON "release" (timestamp DESC); + +CREATE INDEX release_torrent_name_index + ON "release" (torrent_name); + +CREATE INDEX indexer_identifier_index + ON indexer (identifier); + `, } const postgresSchema = ` @@ -800,6 +831,9 @@ CREATE TABLE indexer UNIQUE (identifier) ); +CREATE INDEX indexer_identifier_index + ON indexer (identifier); + CREATE TABLE irc_network ( id SERIAL PRIMARY KEY, @@ -1000,6 +1034,15 @@ CREATE TABLE "release" CREATE INDEX release_filter_id_index ON release (filter_id); +CREATE INDEX release_indexer_index + ON "release" (indexer); + +CREATE INDEX release_timestamp_index + ON "release" (timestamp DESC); + +CREATE INDEX release_torrent_name_index + ON "release" (torrent_name); + CREATE TABLE release_action_status ( id SERIAL PRIMARY KEY, @@ -1014,6 +1057,9 @@ CREATE TABLE release_action_status FOREIGN KEY (release_id) REFERENCES "release"(id) ON DELETE CASCADE ); +CREATE INDEX release_action_status_release_id_index + ON release_action_status (release_id); + CREATE TABLE notification ( id SERIAL PRIMARY KEY, @@ -1230,4 +1276,20 @@ var postgresMigrations = []string{ FOREIGN KEY (filter_id) REFERENCES FILTER ON DELETE SET NULL; `, + ` +CREATE INDEX release_action_status_release_id_index + ON release_action_status (release_id); + +CREATE INDEX release_indexer_index + ON "release" (indexer); + +CREATE INDEX release_timestamp_index + ON "release" (timestamp DESC); + +CREATE INDEX release_torrent_name_index + ON "release" (torrent_name); + +CREATE INDEX indexer_identifier_index + ON indexer (identifier); + `, }