Hallo mal wieder zu meinen beliebten Problemen...
Heutiges Thema: Ein ORDER BY verlangsamt die Abfrage um 60 Sekunden.
Ich habe eine Tabelle mit über 3,1 Mio Zeilen.
Ich mache folgende Abfrage:
SELECT * FROM `Produktdaten` WHERE (MATCH (Bezeichnung,Kurzbeschreibung,Beschreibung,Keywords) AGAINST ('SUCHBEGRIFF')) ORDER BY Preis, Bezeichnung LIMIT 0,50
Ich habe folgende Indizes, die ich nach und nach erstellt habe und nach jedem neuen Index neu getestet habe:
1: Fulltext über "Bezeichnung,Kurzbeschreibung,Beschreibung,Keywords"
2: Jeweils ein Index über Preis, Beschreibung, PartnerID (für andere Abfragen)
3: Primary über "laufendeNummer"
Die Abfrage oben dauert ohne ORDER 0,02 Sekunden, mit ORDER über 60 Sekunden.
Wie gesagt: Ich habe die Indizes nach und nach erstellt und immer wieder gestestet. Ohne Verbesserung.
Über BESCHREIBUNG habe ich jetzt 2 Indizes: Einmal mit über den Fulltext und einmal einen eigenen Index um zu sehen, oder dann vielleicht schneller sortiert wird.
Wo liegt mein Fehler?
Danke schon für Eure Hilfe