ANALYZE [LOCAL | NO_WRITE_TO_BINLOG] TABLEtbl_name
[,tbl_name
] ...
ANALYZE TABLE
analysiert und speichert die
Schlüsselverteilung für eine Tabelle. Während der Analyse
ist die Tabelle mit einer Lesesperre versehen. Diese Anweisung
funktioniert nur bei MyISAM
-,
BDB
- und
InnoDB
-Tabellen. Bei
MyISAM
-Tabellen ist sie äquivalent zur
Verwendung von myisamchk -a.
MySQL verwendet die gespeicherte Schlüsselverteilung, um die Reihenfolge zu ermitteln, in der die Tabellen verknüpft werden sollen, wenn Sie einen Join mit etwas anderem als einer Konstante durchführen.
ANALYZE TABLE
gibt eine Ergebnismenge mit
den folgenden Spalten zurück:
Spalte | Wert |
Table |
der Tabellenname |
Op |
ist immer analyze
|
Msg_type |
status , error ,
info oder
warning
|
Msg_text |
die Nachricht |
Sie können die gespeicherte Schlüsselverteilung mit der
SHOW INDEX
-Anweisung vergleichen. Siehe
auch Abschnitt 13.5.4.12, „SHOW INDEX
“.
Wenn die Tabelle seit der letzten ANALYZE
TABLE
-Anweisung nicht geändert wurde, wird die
Tabelle nicht erneut analysiert.
ANALYZE TABLE
-Anweisungen werden in das
Binärlog geschrieben, sofern das optionale Schlüsselwort
NO_WRITE_TO_BINLOG
(oder sein Alias
LOCAL
) nicht verwendet wird. Dies wird
gemacht, damit ANALYZE TABLE
-Anweisungen,
die auf einem MySQL Server verwendet werden, der als
Replikationsmaster agiert, standardmäßig auf den
Replikationsslave repliziert werden.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.