Remove foreign key in flood control database table
authorMatthias Schmidt <gravatronics@live.com>
Fri, 23 Oct 2020 15:28:17 +0000 (17:28 +0200)
committerMatthias Schmidt <gravatronics@live.com>
Fri, 23 Oct 2020 15:28:17 +0000 (17:28 +0200)
wcfsetup/setup/db/install.sql

index c95cdf60aa71f837d406b502bbce69d9e39a2c4e..ab22b543c7b4eb8ee159ce058fcdb751e506fc46 100644 (file)
@@ -579,6 +579,8 @@ CREATE TABLE wcf1_event_listener (
        UNIQUE KEY listenerName (listenerName, packageID)
 );
 
+/* As the flood control table can be a high traffic table and as it is periodically emptied,
+there is no foreign key on the `objectTypeID` to speed up insertions. */
 DROP TABLE IF EXISTS wcf1_flood_control;
 CREATE TABLE wcf1_flood_control (
     logID BIGINT(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
@@ -1962,8 +1964,6 @@ ALTER TABLE wcf1_edit_history_entry ADD FOREIGN KEY (obsoletedByUserID) REFERENC
 
 ALTER TABLE wcf1_event_listener ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;
 
-ALTER TABLE wcf1_flood_control ADD FOREIGN KEY (objectTypeID) REFERENCES wcf1_object_type (objectTypeID) ON DELETE CASCADE;
-
 ALTER TABLE wcf1_language_item ADD FOREIGN KEY (languageID) REFERENCES wcf1_language (languageID) ON DELETE CASCADE;
 ALTER TABLE wcf1_language_item ADD FOREIGN KEY (languageCategoryID) REFERENCES wcf1_language_category (languageCategoryID) ON DELETE CASCADE;
 ALTER TABLE wcf1_language_item ADD FOREIGN KEY (packageID) REFERENCES wcf1_package (packageID) ON DELETE CASCADE;