Ich erstellte eine Tabelle, um die Aktivität meiner Anwendung zu protokollieren. Diese Tabelle protokolliert mehr als 2 Millionen Datensätze pro Monat. Deshalb möchte ich die Partitionierung verwenden Monat oder WocheMySQL Partitionierung nach Woche automatisch
CREATE TABLE IF NOT EXISTS `UL`.`Log` (
`LogID` INT(20) NOT NULL AUTO_INCREMENT,
`LogDate` DATETIME NULL,
`AssessorName` VARCHAR(255) NULL
PRIMARY KEY (`LogID`),
INDEX `AssessorName` (`AssessorName`),
INDEX `LogDate` (`LogDate`)
)
ENGINE = INNODB;
Aber das Problem ist, ich habe die Partitionierung manuell zu erstellen, wie
PARTITION BY RANGE (EXTRACT(YEAR_MONTH FROM LogDate)) (
PARTITION pre_2014 VALUES LESS THAN (201400),
PARTITION jan_2014 VALUES LESS THAN (201401),
PARTITION feb_2014 VALUES LESS THAN (201402),
....
Ist das eine Möglichkeit, eine Partition für Monat oder Woche automatisch zu erstellen ?
Dank
Partition Anforderungen planen eng mit Maschinenkapazität und gemeinsamer Abfrage/verwendet Fälle in Zusammenhang stehen. Es ist unmöglich, eine pauschale Aussage darüber zu treffen, ob Partitionierung benötigt wird oder ob es Effizienzverbesserungen bietet, ohne viel mehr Details zu kennen. –