]> granicus.if.org Git - icinga2/commitdiff
dbido: remove redundant mysql indexes 6734/head
authorLee Clemens <java@leeclemens.net>
Fri, 26 Oct 2018 22:32:21 +0000 (18:32 -0400)
committerLee Clemens <java@leeclemens.net>
Fri, 26 Oct 2018 22:32:21 +0000 (18:32 -0400)
lib/db_ido_mysql/schema/mysql.sql
lib/db_ido_mysql/schema/upgrade/2.11.0.sql [new file with mode: 0644]

index 6fec218c5fecec8af96acb1a835c97508eb92682..f638638396aebd0a24400fd62f33b891b4719d09 100644 (file)
@@ -692,8 +692,7 @@ CREATE TABLE IF NOT EXISTS icinga_hosts (
   z_3d double  default '0',
   config_hash varchar(64) DEFAULT NULL,
   PRIMARY KEY  (host_id),
-  UNIQUE KEY instance_id (instance_id,config_type,host_object_id),
-  KEY host_object_id (host_object_id)
+  UNIQUE KEY instance_id (instance_id,config_type,host_object_id)
 ) ENGINE=InnoDB  COMMENT='Host definitions';
 
 -- --------------------------------------------------------
@@ -1181,8 +1180,7 @@ CREATE TABLE IF NOT EXISTS icinga_services (
   icon_image_alt TEXT character set latin1,
   config_hash varchar(64) DEFAULT NULL,
   PRIMARY KEY  (service_id),
-  UNIQUE KEY instance_id (instance_id,config_type,service_object_id),
-  KEY service_object_id (service_object_id)
+  UNIQUE KEY instance_id (instance_id,config_type,service_object_id)
 ) ENGINE=InnoDB  COMMENT='Service definitions';
 
 -- --------------------------------------------------------
@@ -1463,10 +1461,8 @@ ALTER TABLE icinga_systemcommands ADD COLUMN endpoint_object_id bigint default N
 -- EXTERNALCOMMANDS => entry_time
 
 -- instance_id
-CREATE INDEX systemcommands_i_id_idx on icinga_systemcommands(instance_id);
 CREATE INDEX servicechecks_i_id_idx on icinga_servicechecks(instance_id);
 CREATE INDEX hostchecks_i_id_idx on icinga_hostchecks(instance_id);
-CREATE INDEX eventhandlers_i_id_idx on icinga_eventhandlers(instance_id);
 CREATE INDEX externalcommands_i_id_idx on icinga_externalcommands(instance_id);
 
 -- time
@@ -1481,40 +1477,22 @@ CREATE INDEX externalcommands_time_id_idx on icinga_externalcommands(entry_time)
 -- instance_id only
 
 -- realtime data
-CREATE INDEX programstatus_i_id_idx on icinga_programstatus(instance_id);
 CREATE INDEX hoststatus_i_id_idx on icinga_hoststatus(instance_id);
 CREATE INDEX servicestatus_i_id_idx on icinga_servicestatus(instance_id);
 CREATE INDEX contactstatus_i_id_idx on icinga_contactstatus(instance_id);
-CREATE INDEX comments_i_id_idx on icinga_comments(instance_id);
-CREATE INDEX scheduleddowntime_i_id_idx on icinga_scheduleddowntime(instance_id);
-CREATE INDEX runtimevariables_i_id_idx on icinga_runtimevariables(instance_id);
 CREATE INDEX customvariablestatus_i_id_idx on icinga_customvariablestatus(instance_id);
 
 -- config data
-CREATE INDEX configfiles_i_id_idx on icinga_configfiles(instance_id);
 CREATE INDEX configfilevariables_i_id_idx on icinga_configfilevariables(instance_id);
 CREATE INDEX customvariables_i_id_idx on icinga_customvariables(instance_id);
-CREATE INDEX commands_i_id_idx on icinga_commands(instance_id);
-CREATE INDEX timeperiods_i_id_idx on icinga_timeperiods(instance_id);
 CREATE INDEX timeperiod_timeranges_i_id_idx on icinga_timeperiod_timeranges(instance_id);
-CREATE INDEX contactgroups_i_id_idx on icinga_contactgroups(instance_id);
 CREATE INDEX contactgroup_members_i_id_idx on icinga_contactgroup_members(instance_id);
-CREATE INDEX hostgroups_i_id_idx on icinga_hostgroups(instance_id);
 CREATE INDEX hostgroup_members_i_id_idx on icinga_hostgroup_members(instance_id);
-CREATE INDEX servicegroups_i_id_idx on icinga_servicegroups(instance_id);
 CREATE INDEX servicegroup_members_i_id_idx on icinga_servicegroup_members(instance_id);
-CREATE INDEX hostesc_i_id_idx on icinga_hostescalations(instance_id);
-CREATE INDEX hostesc_contacts_i_id_idx on icinga_hostescalation_contacts(instance_id);
-CREATE INDEX serviceesc_i_id_idx on icinga_serviceescalations(instance_id);
-CREATE INDEX serviceesc_contacts_i_id_idx on icinga_serviceescalation_contacts(instance_id);
-CREATE INDEX hostdependencies_i_id_idx on icinga_hostdependencies(instance_id);
-CREATE INDEX contacts_i_id_idx on icinga_contacts(instance_id);
 CREATE INDEX contact_addresses_i_id_idx on icinga_contact_addresses(instance_id);
 CREATE INDEX contact_notifcommands_i_id_idx on icinga_contact_notificationcommands(instance_id);
-CREATE INDEX hosts_i_id_idx on icinga_hosts(instance_id);
 CREATE INDEX host_parenthosts_i_id_idx on icinga_host_parenthosts(instance_id);
 CREATE INDEX host_contacts_i_id_idx on icinga_host_contacts(instance_id);
-CREATE INDEX services_i_id_idx on icinga_services(instance_id);
 CREATE INDEX service_contacts_i_id_idx on icinga_service_contacts(instance_id);
 CREATE INDEX service_contactgroups_i_id_idx on icinga_service_contactgroups(instance_id);
 CREATE INDEX host_contactgroups_i_id_idx on icinga_host_contactgroups(instance_id);
@@ -1574,7 +1552,6 @@ CREATE INDEX hostchks_h_obj_id_idx on icinga_hostchecks(host_object_id);
 CREATE INDEX servicechks_s_obj_id_idx on icinga_servicechecks(service_object_id);
 
 -- objects
-CREATE INDEX objects_objtype_id_idx ON icinga_objects(objecttype_id);
 CREATE INDEX objects_name1_idx ON icinga_objects(name1);
 CREATE INDEX objects_name2_idx ON icinga_objects(name2);
 CREATE INDEX objects_inst_id_idx ON icinga_objects(instance_id);
@@ -1643,10 +1620,6 @@ CREATE INDEX sla_idx_obj ON icinga_objects (objecttype_id, is_active, name1);
 -- #4985
 CREATE INDEX commenthistory_delete_idx ON icinga_commenthistory (instance_id, comment_time, internal_comment_id);
 
--- #10070
-CREATE INDEX idx_comments_object_id on icinga_comments(object_id);
-CREATE INDEX idx_scheduleddowntime_object_id on icinga_scheduleddowntime(object_id);
-
 -- #10066
 CREATE INDEX idx_endpoints_object_id on icinga_endpoints(endpoint_object_id);
 CREATE INDEX idx_endpointstatus_object_id on icinga_endpointstatus(endpoint_object_id);
@@ -1668,7 +1641,6 @@ CREATE INDEX idx_downtimes_session_del ON icinga_scheduleddowntime (instance_id,
 CREATE INDEX idx_statehistory_cleanup on icinga_statehistory(instance_id, state_time);
 
 -- #12435
-CREATE INDEX idx_customvariables_object_id on icinga_customvariables(object_id);
 CREATE INDEX idx_contactgroup_members_object_id on icinga_contactgroup_members(contact_object_id);
 CREATE INDEX idx_hostgroup_members_object_id on icinga_hostgroup_members(host_object_id);
 CREATE INDEX idx_servicegroup_members_object_id on icinga_servicegroup_members(service_object_id);
diff --git a/lib/db_ido_mysql/schema/upgrade/2.11.0.sql b/lib/db_ido_mysql/schema/upgrade/2.11.0.sql
new file mode 100644 (file)
index 0000000..b461a66
--- /dev/null
@@ -0,0 +1,40 @@
+-- -----------------------------------------
+-- upgrade path for Icinga 2.11.0
+--
+-- -----------------------------------------
+-- Copyright (c) 2018 Icinga Development Team (https://icinga.com/)
+--
+-- Please check https://docs.icinga.com for upgrading information!
+-- -----------------------------------------
+
+ALTER TABLE `icinga_commands` DROP INDEX `commands_i_id_idx`;
+ALTER TABLE `icinga_comments` DROP INDEX `idx_comments_object_id`;
+ALTER TABLE `icinga_comments` DROP INDEX `comments_i_id_idx`;
+ALTER TABLE `icinga_configfiles` DROP INDEX `configfiles_i_id_idx`;
+ALTER TABLE `icinga_contactgroups` DROP INDEX `contactgroups_i_id_idx`;
+ALTER TABLE `icinga_contacts` DROP INDEX `contacts_i_id_idx`;
+ALTER TABLE `icinga_customvariables` DROP INDEX `idx_customvariables_object_id`;
+ALTER TABLE `icinga_eventhandlers` DROP INDEX `eventhandlers_i_id_idx`;
+ALTER TABLE `icinga_hostdependencies` DROP INDEX `hostdependencies_i_id_idx`;
+ALTER TABLE `icinga_hostescalations` DROP INDEX `hostesc_i_id_idx`;
+ALTER TABLE `icinga_hostescalation_contacts` DROP INDEX `hostesc_contacts_i_id_idx`;
+ALTER TABLE `icinga_hostgroups` DROP INDEX `hostgroups_i_id_idx`;
+ALTER TABLE `icinga_hosts` DROP INDEX `host_object_id`;
+ALTER TABLE `icinga_hosts` DROP INDEX `hosts_i_id_idx`;
+ALTER TABLE `icinga_objects` DROP INDEX `objects_objtype_id_idx`;
+ALTER TABLE `icinga_programstatus` DROP INDEX `programstatus_i_id_idx`;
+ALTER TABLE `icinga_runtimevariables` DROP INDEX `runtimevariables_i_id_idx`;
+ALTER TABLE `icinga_scheduleddowntime` DROP INDEX `scheduleddowntime_i_id_idx`;
+ALTER TABLE `icinga_scheduleddowntime` DROP INDEX `idx_scheduleddowntime_object_id`;
+ALTER TABLE `icinga_serviceescalations` DROP INDEX `serviceesc_i_id_idx`;
+ALTER TABLE `icinga_serviceescalation_contacts` DROP INDEX `serviceesc_contacts_i_id_idx`;
+ALTER TABLE `icinga_servicegroups` DROP INDEX `servicegroups_i_id_idx`;
+ALTER TABLE `icinga_services` DROP INDEX `services_i_id_idx`;
+ALTER TABLE `icinga_services` DROP INDEX `service_object_id`;
+ALTER TABLE `icinga_systemcommands` DROP INDEX `systemcommands_i_id_idx`;
+ALTER TABLE `icinga_timeperiods` DROP INDEX `timeperiods_i_id_idx`;
+
+-- -----------------------------------------
+-- set dbversion (same as 2.11.0)
+-- -----------------------------------------
+INSERT INTO icinga_dbversion (name, version, create_time, modify_time) VALUES ('idoutils', '1.15.0', NOW(), NOW()) ON DUPLICATE KEY UPDATE version='1.15.0', modify_time=NOW();