Database indexing & table cleanup

This commit is contained in:
Kyep
2020-10-20 13:20:17 -07:00
parent e84e8ad0fa
commit b08d5ed03d
5 changed files with 87 additions and 2 deletions

View File

@@ -98,6 +98,7 @@ CREATE TABLE `customuseritems` (
`cuiJobMask` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4;
ALTER TABLE `customuseritems` ADD INDEX(`cuiCKey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -143,6 +144,7 @@ CREATE TABLE `donators` (
`active` boolean,
PRIMARY KEY (`patreon_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `donators` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -161,6 +163,7 @@ CREATE TABLE `admin` (
`flags` int(16) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4;
ALTER TABLE `admin` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -178,6 +181,7 @@ CREATE TABLE `admin_log` (
`log` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `admin_log` ADD INDEX(`adminckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -422,6 +426,8 @@ CREATE TABLE `library` (
`flagged` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4;
ALTER TABLE `library` ADD INDEX(`ckey`);
ALTER TABLE `library` ADD INDEX(`flagged`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -503,6 +509,7 @@ CREATE TABLE `notes` (
`crew_playtime` mediumint(8) UNSIGNED DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `notes` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -560,6 +567,7 @@ CREATE TABLE `oauth_tokens` (
`token` varchar(32) NOT NULL,
PRIMARY KEY (`token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
@@ -590,6 +598,9 @@ CREATE TABLE `connection_log` (
`computerid` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `connection_log` ADD INDEX(`ckey`);
ALTER TABLE `connection_log` ADD INDEX(`ip`);
ALTER TABLE `connection_log` ADD INDEX(`computerid`);
--
-- Table structure for table `changelog`
@@ -604,3 +615,17 @@ CREATE TABLE `changelog` (
`cl_entry` TEXT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Table structure for table `ip2group`
--
DROP TABLE IF EXISTS `ip2group`;
CREATE TABLE `ip2group`
(
`ip` varchar (18) NOT NULL,
`date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
`groupstr` varchar (32) NOT NULL DEFAULT '',
PRIMARY KEY (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `ip2group` ADD INDEX(`groupstr`);

View File

@@ -98,6 +98,7 @@ CREATE TABLE `SS13_customuseritems` (
`cuiJobMask` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=56 DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_customuseritems` ADD INDEX(`cuiCKey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -143,6 +144,7 @@ CREATE TABLE `SS13_donators` (
`active` boolean,
PRIMARY KEY (`patreon_name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `SS13_donators` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -160,6 +162,7 @@ CREATE TABLE `SS13_admin` (
`flags` int(16) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=99 DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_admin` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -177,6 +180,7 @@ CREATE TABLE `SS13_admin_log` (
`log` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_admin_log` ADD INDEX(`adminckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -421,6 +425,8 @@ CREATE TABLE `SS13_library` (
`flagged` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=929 DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_library` ADD INDEX(`ckey`);
ALTER TABLE `SS13_library` ADD INDEX(`flagged`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -502,6 +508,7 @@ CREATE TABLE `SS13_notes` (
`crew_playtime` mediumint(8) UNSIGNED DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_notes` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -559,6 +566,7 @@ CREATE TABLE `SS13_oauth_tokens` (
`token` varchar(32) NOT NULL,
PRIMARY KEY (`token`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_oauth_tokens` ADD INDEX(`ckey`);
/*!40101 SET character_set_client = @saved_cs_client */;
--
@@ -587,6 +595,9 @@ CREATE TABLE `SS13_connection_log` (
`computerid` varchar(32) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_connection_log` ADD INDEX(`ckey`);
ALTER TABLE `SS13_connection_log` ADD INDEX(`ip`);
ALTER TABLE `SS13_connection_log` ADD INDEX(`computerid`);
--
-- Table structure for table `SS13_changelog`
@@ -601,3 +612,17 @@ CREATE TABLE `SS13_changelog` (
`cl_entry` TEXT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Table structure for table `ip2group`
--
DROP TABLE IF EXISTS `SS13_ip2group`;
CREATE TABLE `SS13_ip2group`
(
`ip` varchar (18) NOT NULL,
`date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
`groupstr` varchar (32) NOT NULL DEFAULT '',
PRIMARY KEY (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `SS13_ip2group` ADD INDEX(`groupstr`);

35
SQL/updates/13-14.sql Normal file
View File

@@ -0,0 +1,35 @@
#Updating the SQL from version 13 to version 14. -Kyet
# Add new tables used by backend tooling
CREATE TABLE `ip2group`
(
`ip` varchar (18) NOT NULL,
`date` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL,
`groupstr` varchar (32) NOT NULL DEFAULT '',
PRIMARY KEY (`ip`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
ALTER TABLE `ip2group` ADD INDEX(`groupstr`);
# Delete tables that already exist but are not used anywhere in either game or backend code
DROP TABLE IF EXISTS `erro_privacy`;
DROP TABLE IF EXISTS `population`;
# Add search indexes to make the most common DB queries faster
ALTER TABLE `admin` ADD INDEX(`ckey`);
ALTER TABLE `admin_log` ADD INDEX(`adminckey`);
ALTER TABLE `connection_log` ADD INDEX(`ckey`);
ALTER TABLE `connection_log` ADD INDEX(`ip`);
ALTER TABLE `connection_log` ADD INDEX(`computerid`);
ALTER TABLE `customuseritems` ADD INDEX(`cuiCKey`);
ALTER TABLE `donators` ADD INDEX(`ckey`);
ALTER TABLE `library` ADD INDEX(`ckey`);
ALTER TABLE `library` ADD INDEX(`flagged`);
ALTER TABLE `notes` ADD INDEX(`ckey`);
ALTER TABLE `oauth_tokens` ADD INDEX(`ckey`);