Ich habe eine MySQL-Abfrage (läuft MySQL 5.0.88), die ich versuche zu beschleunigen. Die zugrunde liegende Tabelle enthält mehrere Indizes, und für die betreffende Abfrage wird der falsche Index verwendet (i_active
- 16.000 Zeilen, vs. i_iln
- 7 Zeilen).Wie kann ich den Index angeben, um ihn in einer MySQL Select-Abfrage zu verwenden?
Ich bin nicht sehr erfahren mit MySQL, aber es gibt einen use index
Hinweis, der mySQL zwingen kann, einen bestimmten Index zu verwenden. Ich versuche es so:
SELECT art.firma USE INDEX (i_iln)
...
, aber dies erzeugt einen MySQL-Fehler.
Frage:
Kann mir jemand sagen, was ich falsch mache? (. Außer 5.0.88 laufen, die ich nicht ändern kann)
Für was es wert ist, erzwingt USE INDEX die Verwendung des benannten Index nicht. Es bedeutet nur "nicht in Betracht ziehen, einen * anderen * Index zu verwenden." Der von Ihnen angegebene Index ist möglicherweise für die Abfrage irrelevant. In diesem Fall wird MySQL ihn weiterhin nicht verwenden. –