Durch Aufruf der Funktion
handler::info()
fordert der Optimierer die Aktualisierung der Tabellendaten
an. Die Funktion info()
hat keinen
Rückgabewert; stattdessen wird erwartet, dass die
Speicher-Engine eine Reihe von öffentlichen Variablen setzt,
die der Server dann nach Bedarf auslesen kann. Diese Werte
werden auch für bestimmte SHOW
-Ausgaben
wie beispielsweise SHOW TABLE STATUS
und
für INFORMATION_SCHEMA
eingesetzt.
Alle Variablen sind optional, sollten aber nach Möglichkeit ausgefüllt werden:
records
– Die Anzahl der Zeilen
in der Tabelle. Wenn Sie nicht schnell eine genaue Zahl
liefern können, sollten Sie diesen Wert auf größer als
1 setzen, damit der Optimierer nicht für Tabellen mit
null oder einer Zeile in Aktion treten muss.
deleted
– Die Anzahl der
gelöschten Zeilen in der Tabelle. Dient der Ermittlung
von Tabellenfragmentation, wo sie vorliegt.
data_file_length
– Die Größe
der Datendatei in Bytes. Hilft dem Optimierer, den Aufwand
von Leseoperationen zu berechnen.
index_file_length
– Die Größe
der Indexdatei in Bytes. Hilft dem Optimierer, den Aufwand
von Leseoperationen zu berechnen.
mean_rec_length
– Die
Durchschnittslänge einer einzelnen Zeile in Bytes.
scan_time
– I/O-Aufwand für den
Versuch eines vollständigen Tabellenscans.
delete_length
– (keine
Beschreibung verfügbar)
check_time
– (keine Beschreibung
verfügbar)
Bei der Berechnung von Werten geht Geschwindigkeit vor Genauigkeit, da es keinen Sinn hat, viel Zeit zu vertrödeln, um dem Optimierer den schnellsten Weg aufzuzeigen. Schätzungen innerhalb einer Größenordnung sind normalerweise ausreichend.
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.