From 078ba09cc7bfc40fdccb8a187057dbcf95c4ac25 Mon Sep 17 00:00:00 2001 From: szporowolik Date: Mon, 28 Oct 2019 16:49:02 +0100 Subject: [PATCH] MySQL structure cleanup --- 03_MySQL/m1081_perun.sql | 79 ++++++++++++++-------------------------- 1 file changed, 27 insertions(+), 52 deletions(-) diff --git a/03_MySQL/m1081_perun.sql b/03_MySQL/m1081_perun.sql index b8e428f..8ee2a1a 100644 --- a/03_MySQL/m1081_perun.sql +++ b/03_MySQL/m1081_perun.sql @@ -11,33 +11,6 @@ SET time_zone = "+00:00"; CREATE DATABASE IF NOT EXISTS `m1081_perun` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE `m1081_perun`; -DELIMITER $$ -DROP PROCEDURE IF EXISTS `sp_CleanDatabase`$$ -CREATE DEFINER=`m1081`@`%.devil` PROCEDURE `sp_CleanDatabase` () MODIFIES SQL DATA -BEGIN - DELETE FROM pe_DataMissionHashes; - DELETE FROM pe_DataPlayers; - DELETE FROM pe_DataRaw; - DELETE FROM pe_LogChat; - DELETE FROM pe_LogEvent; - DELETE FROM pe_LogLogins; - DELETE FROM pe_LogStats; - - ALTER TABLE pe_DataMissionHashes AUTO_INCREMENT = 1; - ALTER TABLE pe_DataPlayers AUTO_INCREMENT = 1; - ALTER TABLE pe_DataRaw AUTO_INCREMENT = 1; - ALTER TABLE pe_LogChat AUTO_INCREMENT = 1; - ALTER TABLE pe_LogEvent AUTO_INCREMENT = 1; - ALTER TABLE pe_LogLogins AUTO_INCREMENT = 1; - ALTER TABLE pe_LogStats AUTO_INCREMENT = 1; - -END$$ - -DROP PROCEDURE IF EXISTS `sp_SyncForumGame`$$ -$$ - -DELIMITER ; - DROP TABLE IF EXISTS `pe_Config`; CREATE TABLE IF NOT EXISTS `pe_Config` ( `pe_Config_id` int(11) NOT NULL, @@ -57,7 +30,7 @@ CREATE TABLE IF NOT EXISTS `pe_DataMissionHashes` ( PRIMARY KEY (`pe_DataMissionHashes_id`), UNIQUE KEY `UNIQUE_hash` (`pe_DataMissionHashes_hash`), KEY `pe_DataMissionHashes_instance` (`pe_DataMissionHashes_instance`) -) ENGINE=InnoDB AUTO_INCREMENT=7155 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=7184 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pe_DataPlayers`; CREATE TABLE IF NOT EXISTS `pe_DataPlayers` ( @@ -68,7 +41,7 @@ CREATE TABLE IF NOT EXISTS `pe_DataPlayers` ( `pe_DataPlayers_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (`pe_DataPlayers_id`), UNIQUE KEY `UNIQUE_UCID` (`pe_DataPlayers_ucid`) -) ENGINE=InnoDB AUTO_INCREMENT=222 DEFAULT CHARSET=utf8; +) ENGINE=InnoDB AUTO_INCREMENT=224 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pe_DataRaw`; CREATE TABLE IF NOT EXISTS `pe_DataRaw` ( @@ -76,7 +49,9 @@ CREATE TABLE IF NOT EXISTS `pe_DataRaw` ( `pe_dataraw_instance` smallint(5) UNSIGNED NOT NULL, `pe_dataraw_payload` text NOT NULL, `pe_dataraw_updated` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`pe_dataraw_type`,`pe_dataraw_instance`) + PRIMARY KEY (`pe_dataraw_type`,`pe_dataraw_instance`), + KEY `pe_dataraw_type_pe_dataraw_instance` (`pe_dataraw_type`,`pe_dataraw_instance`), + KEY `pe_dataraw_updated` (`pe_dataraw_updated`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pe_DataTypes`; @@ -99,8 +74,9 @@ CREATE TABLE IF NOT EXISTS `pe_LogChat` ( PRIMARY KEY (`pe_LogChat_id`), KEY `pe_LogChat_missionhash_id` (`pe_LogChat_missionhash_id`), KEY `pe_LogChat_playerid` (`pe_LogChat_playerid`), - KEY `pe_LogChat_datetime` (`pe_LogChat_datetime`) -) ENGINE=InnoDB AUTO_INCREMENT=21177 DEFAULT CHARSET=utf8; + KEY `pe_LogChat_datetime` (`pe_LogChat_datetime`), + KEY `pe_LogChat_all` (`pe_LogChat_all`) +) ENGINE=InnoDB AUTO_INCREMENT=21901 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pe_LogEvent`; CREATE TABLE IF NOT EXISTS `pe_LogEvent` ( @@ -111,10 +87,12 @@ CREATE TABLE IF NOT EXISTS `pe_LogEvent` ( `pe_LogEvent_content` text NOT NULL, `pe_LogEvent_arg1` varchar(150) DEFAULT NULL, `pe_LogEvent_arg2` varchar(150) DEFAULT NULL, + `pe_LogEvent_argPlayers` varchar(150) DEFAULT NULL, PRIMARY KEY (`pe_LogEvent_id`), KEY `pe_LogEvent_missionhash_id` (`pe_LogEvent_missionhash_id`), - KEY `pe_LogEvent_datetime` (`pe_LogEvent_datetime`) -) ENGINE=InnoDB AUTO_INCREMENT=95755 DEFAULT CHARSET=utf8; + KEY `pe_LogEvent_datetime` (`pe_LogEvent_datetime`), + KEY `pe_LogEvent_type_2` (`pe_LogEvent_type`) +) ENGINE=InnoDB AUTO_INCREMENT=98685 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pe_LogLogins`; CREATE TABLE IF NOT EXISTS `pe_LogLogins` ( @@ -126,8 +104,9 @@ CREATE TABLE IF NOT EXISTS `pe_LogLogins` ( `pe_LogLogins_ip` varchar(100) NOT NULL, PRIMARY KEY (`pe_LogLogins_id`), KEY `pe_LogLogins_playerid` (`pe_LogLogins_playerid`), - KEY `pe_LogLogins_datetime` (`pe_LogLogins_datetime`) -) ENGINE=InnoDB AUTO_INCREMENT=11064 DEFAULT CHARSET=utf8; + KEY `pe_LogLogins_datetime` (`pe_LogLogins_datetime`), + KEY `pe_LogLogins_instance` (`pe_LogLogins_instance`) +) ENGINE=InnoDB AUTO_INCREMENT=11195 DEFAULT CHARSET=utf8; DROP TABLE IF EXISTS `pe_LogStats`; CREATE TABLE IF NOT EXISTS `pe_LogStats` ( @@ -162,31 +141,18 @@ CREATE TABLE IF NOT EXISTS `pe_LogStats` ( `ps_other_landings` int(10) UNSIGNED NOT NULL DEFAULT '0', `ps_other_takeoffs` int(10) UNSIGNED NOT NULL DEFAULT '0', `pe_LogStats_mstatus` enum('?','RTB','MIA','KIA') DEFAULT NULL, - `ps_takeoffs` int(10) UNSIGNED DEFAULT '0', - `ps_landings` int(10) UNSIGNED DEFAULT '0', - `ps_kills_AA` int(10) UNSIGNED DEFAULT '0', - `ps_kills_AG` int(10) UNSIGNED DEFAULT '0', - `ps_kills_AS` int(10) UNSIGNED DEFAULT '0', - `ps_kills_AAA` int(10) UNSIGNED DEFAULT '0', PRIMARY KEY (`pe_LogStats_id`), UNIQUE KEY `UNIQUE_STATS_PER_MISSION_AND_UCID_AND_TYPE` (`pe_LogStats_playerid`,`pe_LogStats_missionhash_id`,`pe_LogStats_typeid`) USING BTREE, KEY `pe_LogStats_missionhash_id` (`pe_LogStats_missionhash_id`), KEY `pe_LogStats_playerid` (`pe_LogStats_playerid`), KEY `pe_LogStats_typeid` (`pe_LogStats_typeid`), KEY `pe_LogStats_masterslot` (`pe_LogStats_masterslot`), - KEY `pe_LogStats_mstatus` (`pe_LogStats_mstatus`) -) ENGINE=InnoDB AUTO_INCREMENT=9900 DEFAULT CHARSET=utf8; + KEY `pe_LogStats_mstatus` (`pe_LogStats_mstatus`), + KEY `pe_LogStats_seat` (`pe_LogStats_seat`) +) ENGINE=InnoDB AUTO_INCREMENT=10086 DEFAULT CHARSET=utf8; DROP TRIGGER IF EXISTS `pe_LogStats_UPDATE`; DELIMITER $$ CREATE TRIGGER `pe_LogStats_UPDATE` BEFORE UPDATE ON `pe_LogStats` FOR EACH ROW BEGIN - - SET NEW.ps_takeoffs = NEW.ps_airfield_takeoffs + NEW.ps_farp_takeoffs + NEW.ps_other_takeoffs + NEW.ps_ship_takeoffs; - SET NEW.ps_landings = NEW.ps_airfield_landings + NEW.ps_farp_landings + NEW.ps_other_landings + NEW.ps_ship_landings; - SET NEW.ps_kills_AA = NEW.ps_kills_planes + NEW.ps_kills_helicopters; - SET NEW.ps_kills_AG = NEW.ps_kills_armor + NEW.ps_kills_unarmed + NEW.ps_kills_fortification; - SET NEW.ps_kills_AS = NEW.ps_kills_ships; - SET NEW.ps_kills_AAA = NEW.ps_kills_air_defense; - IF NEW.ps_ejections > 0 THEN SET NEW.pe_LogStats_mstatus = "MIA"; ELSEIF NEW.ps_deaths > 0 THEN @@ -207,7 +173,16 @@ $$ DELIMITER ; +ALTER TABLE `pe_DataMissionHashes` ADD FULLTEXT KEY `pe_DataMissionHashes_hash` (`pe_DataMissionHashes_hash`); + ALTER TABLE `pe_DataPlayers` ADD FULLTEXT KEY `pe_DataPlayers_ucid` (`pe_DataPlayers_ucid`); + +ALTER TABLE `pe_DataTypes` ADD FULLTEXT KEY `pe_DataTypes_name` (`pe_DataTypes_name`); + +ALTER TABLE `pe_LogChat` ADD FULLTEXT KEY `pe_LogChat_msg` (`pe_LogChat_msg`); + +ALTER TABLE `pe_LogEvent` ADD FULLTEXT KEY `pe_LogEvent_argPlayers` (`pe_LogEvent_argPlayers`); +ALTER TABLE `pe_LogEvent` ADD FULLTEXT KEY `pe_LogEvent_type` (`pe_LogEvent_type`); COMMIT; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;