Einige andere Anmerkungen:
InnoDB weist keinen freien Speicherplatz auf dem Dateisystem zu, nachdem Sie eine Tabelle/Datenbank löschen oder einen Datensatz löschen. Dies kann durch "Dumping und Importieren" oder durch Setzen von innodb_file_per_table=1
in my.cnf.
Das Hinzufügen/Entfernen von Indizes in einer großen InnoDB-Tabelle kann ziemlich mühsam sein, da die aktuelle Tabelle gesperrt wird, eine temporäre Tabelle mit den geänderten Indizes erstellt wird und Daten Zeile für Zeile eingefügt werden. Es gibt eine Plugin von Innobase aber es funktioniert nur für MySQL 5.1
InnoDB ist auch VIEL speicherintensiver, ich empfehle Ihnen, so große innodb_buffer_pool_size
so variabel, wie es der Arbeitsspeicher Ihres Servers zulässt (70-80 % sollten ein sicherer Wert sein). Wenn Ihr Server UNIX/Linux ist, sollten Sie die sysctl-Variable vm.swappiness
auf 0 und verwenden innodb_flush_method=O_DIRECT
um doppelte Pufferung zu vermeiden. Testen Sie immer, ob Sie beim Umschalten dieser Werte auf Swap stoßen, und lesen Sie mehr unter Percona-Blog was großartig ist.
Außerdem können Sie mysqlbackup
con --single-transaction --skip-lock-tables
und keine Tabellensperren haben, während die Sicherung beginnt.
Auf jeden Fall ist InnoDB großartig, lassen Sie sich nicht von einigen Fallstricken entmutigen.