aboutsummaryrefslogtreecommitdiff
path: root/postgres
diff options
context:
space:
mode:
Diffstat (limited to 'postgres')
-rw-r--r--postgres/schema.sql5
-rw-r--r--postgres/z-003-character-deaths-indexes.sql20
2 files changed, 23 insertions, 2 deletions
diff --git a/postgres/schema.sql b/postgres/schema.sql
index 08837c5..bce1b35 100644
--- a/postgres/schema.sql
+++ b/postgres/schema.sql
@@ -109,8 +109,9 @@ CREATE TABLE CharacterDeaths (
Unjustified BOOLEAN NOT NULL,
Timestamp TIMESTAMPTZ NOT NULL
);
-CREATE INDEX CharacterDeathsCharacterIndex ON CharacterDeaths(CharacterID, Level);
-CREATE INDEX CharacterDeathsOffenderIndex ON CharacterDeaths(OffenderID, Unjustified);
+CREATE INDEX CharacterDeathsCharacterIndex ON CharacterDeaths(CharacterID, Timestamp);
+CREATE INDEX CharacterDeathsOffenderIndex ON CharacterDeaths(OffenderID, Timestamp);
+CREATE INDEX CharacterDeathsTimeIndex ON CharacterDeaths(Timestamp);
CREATE TABLE Buddies (
WorldID INTEGER NOT NULL,
diff --git a/postgres/z-003-character-deaths-indexes.sql b/postgres/z-003-character-deaths-indexes.sql
new file mode 100644
index 0000000..1347b72
--- /dev/null
+++ b/postgres/z-003-character-deaths-indexes.sql
@@ -0,0 +1,20 @@
+-- NOTE(fusion): This file contains index adjustments for the `CharacterDeaths`
+-- table. It is not strictly necessary as there are no modified tables but should
+-- help with queries such as the most recent deaths/kills from a specific character
+-- or overall.
+-- It's inside a transaction to avoid errors from leaving the database in some
+-- partial state. The changes are already present in the latest `schema.sql`, so
+-- trying to apply them on a newly created database will result in errors.
+--==============================================================================
+
+BEGIN;
+
+DROP INDEX CharacterDeathsCharacterIndex;
+DROP INDEX CharacterDeathsOffenderIndex;
+
+CREATE INDEX CharacterDeathsCharacterIndex ON CharacterDeaths(CharacterID, Timestamp);
+CREATE INDEX CharacterDeathsOffenderIndex ON CharacterDeaths(OffenderID, Timestamp);
+CREATE INDEX CharacterDeathsTimeIndex ON CharacterDeaths(Timestamp);
+
+COMMIT;
+