GUACAMOLE-394: Cover both main object ID and "start_date" columns with an index for sake of correlated MAX(start_date) history queries.

This commit is contained in:
Michael Jumper
2017-12-11 23:11:57 -08:00
parent 58054719b3
commit dbd5b98250
5 changed files with 31 additions and 0 deletions

View File

@@ -336,6 +336,7 @@ CREATE TABLE `guacamole_connection_history` (
KEY `sharing_profile_id` (`sharing_profile_id`),
KEY `start_date` (`start_date`),
KEY `end_date` (`end_date`),
KEY `connection_start_date` (`connection_id`, `start_date`),
CONSTRAINT `guacamole_connection_history_ibfk_1`
FOREIGN KEY (`user_id`)
@@ -368,6 +369,7 @@ CREATE TABLE guacamole_user_history (
KEY `user_id` (`user_id`),
KEY `start_date` (`start_date`),
KEY `end_date` (`end_date`),
KEY `user_start_date` (`user_id`, `start_date`),
CONSTRAINT guacamole_user_history_ibfk_1
FOREIGN KEY (user_id)

View File

@@ -38,6 +38,12 @@ ALTER TABLE guacamole_connection
ALTER TABLE guacamole_connection_history
ADD COLUMN remote_host VARCHAR(256) DEFAULT NULL;
--
-- Add covering index for connection history connection and start date
--
ALTER TABLE guacamole_connection_history ADD KEY (connection_id, start_date);
--
-- User login/logout history
--
@@ -55,6 +61,7 @@ CREATE TABLE guacamole_user_history (
KEY `user_id` (`user_id`),
KEY `start_date` (`start_date`),
KEY `end_date` (`end_date`),
KEY `user_start_date` (`user_id`, `start_date`),
CONSTRAINT guacamole_user_history_ibfk_1
FOREIGN KEY (user_id)