From 59fcfd0fccb9279eec758fc049a8d747e6b6a82e Mon Sep 17 00:00:00 2001 From: Yonas Habteab Date: Mon, 11 Mar 2024 10:47:09 +0100 Subject: [PATCH] Add a correct composite `INDEX` for the history table --- schema/mysql/schema.sql | 2 +- schema/mysql/upgrades/1.1.2.sql | 2 ++ schema/pgsql/schema.sql | 2 +- schema/pgsql/upgrades/1.1.2.sql | 4 ++++ 4 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 schema/mysql/upgrades/1.1.2.sql create mode 100644 schema/pgsql/upgrades/1.1.2.sql diff --git a/schema/mysql/schema.sql b/schema/mysql/schema.sql index f4434f139..d33ec8593 100644 --- a/schema/mysql/schema.sql +++ b/schema/mysql/schema.sql @@ -1289,7 +1289,7 @@ CREATE TABLE history ( CONSTRAINT fk_history_notification_history FOREIGN KEY (notification_history_id) REFERENCES notification_history (id) ON DELETE CASCADE, CONSTRAINT fk_history_state_history FOREIGN KEY (state_history_id) REFERENCES state_history (id) ON DELETE CASCADE, - INDEX idx_history_event_time (event_time) COMMENT 'History filtered/ordered by event_time', + INDEX idx_history_event_time_event_type (event_time, event_type) COMMENT 'History filtered/ordered by event_time/event_type', INDEX idx_history_acknowledgement (acknowledgement_history_id), INDEX idx_history_comment (comment_history_id), INDEX idx_history_downtime (downtime_history_id), diff --git a/schema/mysql/upgrades/1.1.2.sql b/schema/mysql/upgrades/1.1.2.sql new file mode 100644 index 000000000..ff1ef699e --- /dev/null +++ b/schema/mysql/upgrades/1.1.2.sql @@ -0,0 +1,2 @@ +ALTER TABLE history ADD INDEX idx_history_event_time_event_type (event_time, event_type) COMMENT 'History filtered/ordered by event_time/event_type'; +ALTER TABLE history DROP INDEX idx_history_event_time; diff --git a/schema/pgsql/schema.sql b/schema/pgsql/schema.sql index 9027fac52..8f05829fd 100644 --- a/schema/pgsql/schema.sql +++ b/schema/pgsql/schema.sql @@ -2074,7 +2074,7 @@ ALTER TABLE history ALTER COLUMN comment_history_id SET STORAGE PLAIN; ALTER TABLE history ALTER COLUMN flapping_history_id SET STORAGE PLAIN; ALTER TABLE history ALTER COLUMN acknowledgement_history_id SET STORAGE PLAIN; -CREATE INDEX idx_history_event_time ON history(event_time); +CREATE INDEX idx_history_event_time_event_type ON history(event_time, event_type); CREATE INDEX idx_history_acknowledgement ON history(acknowledgement_history_id); CREATE INDEX idx_history_comment ON history(comment_history_id); CREATE INDEX idx_history_downtime ON history(downtime_history_id); diff --git a/schema/pgsql/upgrades/1.1.2.sql b/schema/pgsql/upgrades/1.1.2.sql new file mode 100644 index 000000000..f5b1dfdf8 --- /dev/null +++ b/schema/pgsql/upgrades/1.1.2.sql @@ -0,0 +1,4 @@ +CREATE INDEX idx_history_event_time_event_type ON history(event_time, event_type); +COMMENT ON INDEX idx_history_event_time_event_type IS 'History filtered/ordered by event_time/event_type'; + +DROP INDEX idx_history_event_time;