Ich spielte ein wenig mit mysqldump um , und ich habe mich gefragt, ob es Export Indizes bedeutet ( FULLTEXT
, INDEX
, ...) standardmäßig aktiviert . Ich habe es nachgelesen und diese Option gefunden :
--disable-keys, -K
was darauf hindeutet, dass es tatsächlich die Indizes exportiert. Aber ich möchte meiner Interpretation nicht vertrauen und ich möchte sicherstellen, dass ich sie richtig (oder falsch) verstanden habe. Kann das jemand bestätigen?
Antworten:
Nein, es werden keine Indizes exportiert. Indizes werden neu erstellt, wenn der mysqldump wieder in mysql geladen wird. Die Optionen, die Sie mit "--disable-keys" gefunden haben, bewirken, dass der mysqldump vor dem Laden der Tabelle über INSERTs so etwas schreibt:
Die Zeile nach LOCK TABLES ist
Dies ist, was die Option --disable-keys in den mysqldump einbettet.
Dies wird auch eingebettet, nachdem alle INSERTs durchgeführt wurden
CAVEAT # 1
CAVEAT # 2
Sie müssen nicht --disable-keys. Sie können DISABLE KEYS (kein Wortspiel beabsichtigt) mit --skip-disable-keys deaktivieren:
Dies kann zu einer langsameren Auslastung und einem möglichen Ausbleiben der Indexseiten für nicht eindeutige Indizes führen.
CAVEAT # 3
Sie können die tatsächlichen InnoDB-Tablespaces sichern (MySQL 5.5.12)
quelle