From b4f5b741d9a806c78152e605a6a141d0733eb2c2 Mon Sep 17 00:00:00 2001 From: Kyep Date: Sat, 24 Oct 2020 14:51:21 -0700 Subject: [PATCH] add existing indexes to schema --- SQL/paradise_schema.sql | 14 ++++++++++++-- SQL/paradise_schema_prefixed.sql | 14 ++++++++++++-- SQL/updates/13-14.sql | 17 +++++++++++++++++ 3 files changed, 41 insertions(+), 4 deletions(-) diff --git a/SQL/paradise_schema.sql b/SQL/paradise_schema.sql index ae40a144d38..e4565cec658 100644 --- a/SQL/paradise_schema.sql +++ b/SQL/paradise_schema.sql @@ -78,6 +78,7 @@ CREATE TABLE `characters` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `characters` ADD INDEX(`ckey`); -- -- Table structure for table `customuseritems` @@ -218,6 +219,9 @@ CREATE TABLE `ban` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `ban` ADD INDEX(`ckey`); +ALTER TABLE `ban` ADD INDEX(`computerid`); +ALTER TABLE `ban` ADD INDEX(`ip`); -- -- Table structure for table `feedback` @@ -274,6 +278,11 @@ CREATE TABLE `player` ( UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `player` ADD INDEX(`lastseen`); +ALTER TABLE `player` ADD INDEX(`computerid`); +ALTER TABLE `player` ADD INDEX(`ip`); +ALTER TABLE `player` ADD INDEX(`fuid`); +ALTER TABLE `player` ADD INDEX(`fupdate`); -- -- Table structure for table `poll_option` @@ -367,8 +376,7 @@ CREATE TABLE `privacy` ( `ckey` varchar(32) NOT NULL, `datetime` datetime NOT NULL, `consent` bit(1) NOT NULL, - PRIMARY KEY (`ckey`), - UNIQUE KEY `ckey_UNIQUE` (`ckey`) + PRIMARY KEY (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; @@ -409,6 +417,7 @@ CREATE TABLE `karmatotals` ( PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); -- -- Table structure for table `library` @@ -461,6 +470,7 @@ CREATE TABLE `whitelist` ( `species` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `whitelist` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/SQL/paradise_schema_prefixed.sql b/SQL/paradise_schema_prefixed.sql index 0df661e2b94..c452eab4c0c 100644 --- a/SQL/paradise_schema_prefixed.sql +++ b/SQL/paradise_schema_prefixed.sql @@ -78,6 +78,7 @@ CREATE TABLE `SS13_characters` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=18747 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_characters` ADD INDEX(`ckey`); -- -- Table structure for table `SS13_customuseritems` @@ -217,6 +218,9 @@ CREATE TABLE `SS13_ban` ( PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10685 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_ban` ADD INDEX(`ckey`); +ALTER TABLE `SS13_ban` ADD INDEX(`computerid`); +ALTER TABLE `SS13_ban` ADD INDEX(`ip`); -- -- Table structure for table `SS13_feedback` @@ -273,6 +277,11 @@ CREATE TABLE `SS13_player` ( UNIQUE KEY `ckey` (`ckey`) ) ENGINE=InnoDB AUTO_INCREMENT=32446 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_player` ADD INDEX(`lastseen`); +ALTER TABLE `SS13_player` ADD INDEX(`computerid`); +ALTER TABLE `SS13_player` ADD INDEX(`ip`); +ALTER TABLE `SS13_player` ADD INDEX(`fuid`); +ALTER TABLE `SS13_player` ADD INDEX(`fupdate`); -- -- Table structure for table `SS13_poll_option` @@ -366,8 +375,7 @@ CREATE TABLE `ss13_privacy` ( `ckey` varchar(32) NOT NULL, `datetime` datetime NOT NULL, `consent` bit(1) NOT NULL, - PRIMARY KEY (`ckey`), - UNIQUE KEY `ckey_UNIQUE` (`ckey`) + PRIMARY KEY (`ckey`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; @@ -408,6 +416,7 @@ CREATE TABLE `SS13_karmatotals` ( PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=6765 DEFAULT CHARSET=utf8mb4; /*!40101 SET character_set_client = @saved_cs_client */; +ALTER TABLE `SS13_karmatotals` ADD INDEX(`byondkey`); -- -- Table structure for table `SS13_library` @@ -460,6 +469,7 @@ CREATE TABLE `SS13_whitelist` ( `species` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=877 DEFAULT CHARSET=utf8mb4; +ALTER TABLE `SS13_whitelist` ADD INDEX(`ckey`); /*!40101 SET character_set_client = @saved_cs_client */; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/SQL/updates/13-14.sql b/SQL/updates/13-14.sql index 8e94d557b35..9f18c75b4de 100644 --- a/SQL/updates/13-14.sql +++ b/SQL/updates/13-14.sql @@ -26,6 +26,23 @@ ALTER TABLE `library` ADD INDEX(`flagged`); ALTER TABLE `notes` ADD INDEX(`ckey`); ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`); +# Delete pointless indexes +DROP INDEX ckey_UNIQUE ON privacy; + +# Add more search indexes to account for the custom indexes we already had but which downstreams do not and were not in the schema + +ALTER TABLE `characters` ADD INDEX(`ckey`); +ALTER TABLE `ban` ADD INDEX(`ckey`); +ALTER TABLE `ban` ADD INDEX(`computerid`); +ALTER TABLE `ban` ADD INDEX(`ip`); +ALTER TABLE `player` ADD INDEX(`lastseen`); +ALTER TABLE `player` ADD INDEX(`computerid`); +ALTER TABLE `player` ADD INDEX(`ip`); +ALTER TABLE `player` ADD INDEX(`fuid`); +ALTER TABLE `player` ADD INDEX(`fupdate`); +ALTER TABLE `karmatotals` ADD INDEX(`byondkey`); +ALTER TABLE `whitelist` ADD INDEX(`ckey`); + # Add player table field for byond account creation date ALTER TABLE `player` ADD COLUMN `byond_date` DATE;