Ich habe die folgende mySQL-Abfrage, die perfekt funktioniert. Außer dass ich einen "FORCE INDEX" hinzufügen muss und ich bin mir nicht sicher wo ich das machen muss. Ich habe fast jeden Ort ausprobiert und bekomme immer einen mySQL-Fehler. Was mache ich falsch?FORCE INDEX mySQL ... wo stelle ich es hin?
Hier ist die ursprüngliche Abfrage:
$sql_select_recent_items = $db->query("SELECT * FROM (SELECT owner_id, product_id, start_time, price, currency, name, closed, active, approved, deleted, creation_in_progress FROM db_products ORDER BY start_time DESC) as resultstable
WHERE resultstable.closed=0 AND resultstable.active=1 AND resultstable.approved=1 AND resultstable.deleted=0 AND resultstable.creation_in_progress=0
GROUP BY resultstable.owner_id
ORDER BY start_time DESC");
Die Abfrage auf diese Weise aufgebaut ist, so dass ich die „ORDER BY“ tun kann, bevor die „GROUP BY“, falls Sie sich fragen.
Was muss ich hinzufügen, ist:
FORCE INDEX (products_start_time)
versuchte ich es fast überall ohne Erfolg, was dazu führt mich zu glauben, dass es etwas komplizierter ist, dass ich vermisst habe?
Vielen Dank! Das funktioniert perfekt und macht den Job für jetzt, während ich nach besseren Lösungen suche :) – user2643870