verschiebe ich habe eine große Tabelle über 200.000.000 Zeile MYISAM mit einem zusammengesetzten Primärschlüssel , aber ich habe keinen Index.Wie man Daten von Tabelle zu einem anderen in Mysql große Tabelle
und ich mag einen Index erstellen, aber die Probleme sind, dass der Tabellen-Server unterbrochen wird, wenn ich die Add-Index Anfrage ausführen:
ALTER TABLE `db`.`table`
ADD INDEX `index_0001` (`col1` ASC);
So will ich eine neue Tabelle erstellen und benötigten Index und bewegen konfiguriere Daten in die neue Tabelle und benennen Sie sie um.
habe ich versucht, diese manip:
INSERT INTO `db`.`table` (field1,field2,..) select field1,field2,....from eventdata limit 100000 offset 0 ;
INSERT INTO `db`.`table` (field1,field2,..) select field1,field2,....from eventdata limit 100000 offset 100000 ;
INSERT INTO `db`.`table` (field1,field2,..) select field1,field2,....from eventdata limit 100000 offset 200000 ;
.......... etc
Aber wenn der Offset werden mehr als 100 Millionen der Abfragezeile Reaktion langsamer geworden.
Gibt es noch eine andere Lösung?
tahnks
Danke. aber ich habe einen zusammengesetzten Primärschlüssel aus 3 Feldern – ALWAN
@ALWAN Dieses Beispiel ist nur ein Beispiel, Grundursache ist Tabelle voller Scan, verwenden Primärschlüssel oder andere unque Schlüssel ist besser Weg: P –