Sie können die Tabelle neu indizieren und sogar verkleinern. Wenn Sie jedoch eine solche festplattenbasierte Wartung verzögern möchten, sollten Sie zumindest die Indexstatistik neu berechnen.
Ohne Neuberechnung der Indexstatistik trifft das MySQL Query Optimizer möglicherweise schlechte Entscheidungen für EXPLAIN-Abfragepläne. Dies könnte sich nachteilig auf SELECTs auswirken, wenn die Statistiken für nicht vorhandene Daten noch vorhanden sind. Dies gilt sowohl für MyISAM als auch für InnoDB.
Sie müssen die Tabelle nicht verkleinern, um die Indexstatistik zu berechnen, obwohl dies für die Gesamtleistung besser ist.
Um Statistiken für alle Indizes in einer Tabelle zu berechnen, würden Sie ausführen
ANALYZE TABLE tablename;
Du könntest das jede Nacht tun. Es wird nicht versucht, Daten zu defragmentieren oder zu verkleinern. Sie könnten das wahrscheinlich einmal pro Woche tun, indem Sie laufen OPTIMIZE TABLE tablename;
. Dies erledigt dies auch ANALYZE TABLE tablename;
für Sie nach dem Verkleinern der physischen Datei der Tabelle ( .ibd
für InnoDB oder .MYI
für MyISAM) oder.