Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wann sollten Datenbankindizes neu erstellt werden?

Es besteht keine Notwendigkeit, einen Index neu zu erstellen. Sie werden immer auf dem Laufenden gehalten. Vielleicht bezog er sich auf den Wiederaufbau des Tisches. Abhängig von Ihren Nutzungsmustern und Ihrem Schema können Sie fragmentierte Seiten in InnoDB erhalten, und ich denke auch in MyISAM. Die Neuerstellung der Tabelle kann die Leistung verbessern, indem die Fragmentierung Ihrer Daten auf der Festplatte beseitigt wird. Ich verwende MyISAM-Tabellen nicht regelmäßig, aber ich glaube, es wird empfohlen, 'OPTIMIZE TABLE' mit bestimmten Nutzungsmustern auszuführen. Siehe die MySQL-Dokumentation auf OPTIMIZE TABLE für einige gute Informationen sowohl zu MyISAM als auch zu InnoDB.

Ich bin mit MyISAM-Feinheiten nicht so vertraut, aber bei InnoDB ist es wahr, dass Statistiken veraltet sein können. Die Datenbank führt geschätzte Statistiken darüber, wie Ihre Daten für einen bestimmten Index verteilt sind, und es ist möglich, dass diese veraltet sind, aber MySQL/InnoDB hat einige eingebaute Funktionen, um zu versuchen, die Statistiken auf dem neuesten Stand zu halten. In der Regel müssen Sie sich darüber keine Gedanken machen.

Wenn Sie also InnoDB verwenden, lautet die Antwort nein, Sie müssen normalerweise nichts aktiv tun, damit Ihre Indizes gut funktionieren. Ich bin mir bei MyISAM nicht so sicher, ich denke, es ist üblicher, diese Tabellen regelmäßig zu optimieren.