Die Funktion
records_in_range()
wird vom Optimierer aufgerufen, um besser entscheiden zu
können, welcher Index einer Tabelle für eine Anfrage oder
einen Join benutzt werden soll. Sie ist folgendermaßen
definiert:
ha_rows ha_foo::records_in_range(uint inx, key_range *min_key, key_range *max_key)
Der Parameter inx
ist der zu prüfende
Index. Der Parameter *min_key
gibt das
untere und der Parameter *max_key
das obere
Ende des Bereichs an.
min_key.flag
kann einen der folgenden Werte
haben:
HA_READ_KEY_EXACT
- Schlüssel in den
Bereich einbeziehen
HA_READ_AFTER_KEY
- Schlüssel nicht in
den Bereich einbeziehen
max_key.flag
kann einen der folgenden Werte
haben:
HA_READ_BEFORE_KEY
- Schlüssel nicht
in den Bereich einbeziehen
HA_READ_AFTER_KEY
- Alle
'end_key'-Werte in den Bereich einbeziehen
Folgende Rückgabewerte sind zulässig:
0
- Keine passenden Schlüssel im
gegebenen Bereich vorhanden
number > 0
- Es gibt ungefähr
number
passende Zeilen im
Bereich
HA_POS_ERROR
- Fehler im Indexbaum
Bei der Berechnung der Werte geht Geschwindigkeit vor Genauigkeit.
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.