mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
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:
@@ -336,6 +336,7 @@ CREATE TABLE `guacamole_connection_history` (
|
|||||||
KEY `sharing_profile_id` (`sharing_profile_id`),
|
KEY `sharing_profile_id` (`sharing_profile_id`),
|
||||||
KEY `start_date` (`start_date`),
|
KEY `start_date` (`start_date`),
|
||||||
KEY `end_date` (`end_date`),
|
KEY `end_date` (`end_date`),
|
||||||
|
KEY `connection_start_date` (`connection_id`, `start_date`),
|
||||||
|
|
||||||
CONSTRAINT `guacamole_connection_history_ibfk_1`
|
CONSTRAINT `guacamole_connection_history_ibfk_1`
|
||||||
FOREIGN KEY (`user_id`)
|
FOREIGN KEY (`user_id`)
|
||||||
@@ -368,6 +369,7 @@ CREATE TABLE guacamole_user_history (
|
|||||||
KEY `user_id` (`user_id`),
|
KEY `user_id` (`user_id`),
|
||||||
KEY `start_date` (`start_date`),
|
KEY `start_date` (`start_date`),
|
||||||
KEY `end_date` (`end_date`),
|
KEY `end_date` (`end_date`),
|
||||||
|
KEY `user_start_date` (`user_id`, `start_date`),
|
||||||
|
|
||||||
CONSTRAINT guacamole_user_history_ibfk_1
|
CONSTRAINT guacamole_user_history_ibfk_1
|
||||||
FOREIGN KEY (user_id)
|
FOREIGN KEY (user_id)
|
||||||
|
@@ -38,6 +38,12 @@ ALTER TABLE guacamole_connection
|
|||||||
ALTER TABLE guacamole_connection_history
|
ALTER TABLE guacamole_connection_history
|
||||||
ADD COLUMN remote_host VARCHAR(256) DEFAULT NULL;
|
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
|
-- User login/logout history
|
||||||
--
|
--
|
||||||
@@ -55,6 +61,7 @@ CREATE TABLE guacamole_user_history (
|
|||||||
KEY `user_id` (`user_id`),
|
KEY `user_id` (`user_id`),
|
||||||
KEY `start_date` (`start_date`),
|
KEY `start_date` (`start_date`),
|
||||||
KEY `end_date` (`end_date`),
|
KEY `end_date` (`end_date`),
|
||||||
|
KEY `user_start_date` (`user_id`, `start_date`),
|
||||||
|
|
||||||
CONSTRAINT guacamole_user_history_ibfk_1
|
CONSTRAINT guacamole_user_history_ibfk_1
|
||||||
FOREIGN KEY (user_id)
|
FOREIGN KEY (user_id)
|
||||||
|
@@ -438,6 +438,9 @@ CREATE INDEX guacamole_connection_history_start_date
|
|||||||
CREATE INDEX guacamole_connection_history_end_date
|
CREATE INDEX guacamole_connection_history_end_date
|
||||||
ON guacamole_connection_history(end_date);
|
ON guacamole_connection_history(end_date);
|
||||||
|
|
||||||
|
CREATE INDEX guacamole_connection_history_connection_id_start_date
|
||||||
|
ON guacamole_connection_history(connection_id, start_date);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- User login/logout history
|
-- User login/logout history
|
||||||
--
|
--
|
||||||
@@ -468,6 +471,9 @@ CREATE INDEX guacamole_user_history_start_date
|
|||||||
CREATE INDEX guacamole_user_history_end_date
|
CREATE INDEX guacamole_user_history_end_date
|
||||||
ON guacamole_user_history(end_date);
|
ON guacamole_user_history(end_date);
|
||||||
|
|
||||||
|
CREATE INDEX guacamole_user_history_user_id_start_date
|
||||||
|
ON guacamole_user_history(user_id, start_date);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- User password history
|
-- User password history
|
||||||
--
|
--
|
||||||
|
@@ -38,6 +38,13 @@ ALTER TABLE guacamole_connection
|
|||||||
ALTER TABLE guacamole_connection_history
|
ALTER TABLE guacamole_connection_history
|
||||||
ADD COLUMN remote_host VARCHAR(256) DEFAULT NULL;
|
ADD COLUMN remote_host VARCHAR(256) DEFAULT NULL;
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Add covering index for connection history connection and start date
|
||||||
|
--
|
||||||
|
|
||||||
|
CREATE INDEX guacamole_connection_history_connection_id_start_date
|
||||||
|
ON guacamole_connection_history(connection_id, start_date);
|
||||||
|
|
||||||
--
|
--
|
||||||
-- User login/logout history
|
-- User login/logout history
|
||||||
--
|
--
|
||||||
@@ -67,3 +74,6 @@ CREATE INDEX guacamole_user_history_start_date
|
|||||||
|
|
||||||
CREATE INDEX guacamole_user_history_end_date
|
CREATE INDEX guacamole_user_history_end_date
|
||||||
ON guacamole_user_history(end_date);
|
ON guacamole_user_history(end_date);
|
||||||
|
|
||||||
|
CREATE INDEX guacamole_user_history_user_id_start_date
|
||||||
|
ON guacamole_user_history(user_id, start_date);
|
||||||
|
@@ -502,6 +502,9 @@ CREATE NONCLUSTERED INDEX [IX_guacamole_connection_history_start_date]
|
|||||||
|
|
||||||
CREATE NONCLUSTERED INDEX [IX_guacamole_connection_history_end_date]
|
CREATE NONCLUSTERED INDEX [IX_guacamole_connection_history_end_date]
|
||||||
ON [guacamole_connection_history] ([end_date]);
|
ON [guacamole_connection_history] ([end_date]);
|
||||||
|
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_guacamole_connection_history_connection_id_start_date]
|
||||||
|
ON [guacamole_connection_history] ([connection_id], [start_date]);
|
||||||
GO
|
GO
|
||||||
|
|
||||||
--
|
--
|
||||||
@@ -533,6 +536,9 @@ CREATE NONCLUSTERED INDEX [IX_guacamole_user_history_start_date]
|
|||||||
|
|
||||||
CREATE NONCLUSTERED INDEX [IX_guacamole_user_history_end_date]
|
CREATE NONCLUSTERED INDEX [IX_guacamole_user_history_end_date]
|
||||||
ON [guacamole_user_history] ([end_date]);
|
ON [guacamole_user_history] ([end_date]);
|
||||||
|
|
||||||
|
CREATE NONCLUSTERED INDEX [IX_guacamole_user_history_user_id_start_date]
|
||||||
|
ON [guacamole_user_history] ([user_id], [start_date]);
|
||||||
GO
|
GO
|
||||||
|
|
||||||
--
|
--
|
||||||
|
Reference in New Issue
Block a user