La syntaxe de index conseils est documenté ici :
http:// dev.mysql.com/doc/refman/5.6/en/index-hints.html
FORCE INDEX
va juste après la référence de la table :
SELECT * FROM (
SELECT owner_id,
product_id,
start_time,
price,
currency,
name,
closed,
active,
approved,
deleted,
creation_in_progress
FROM db_products FORCE INDEX (products_start_time)
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
AVERTISSEMENT :
Si vous utilisez ORDER BY
avant GROUP BY
pour obtenir la dernière entrée par owner_id
, vous utilisez un comportement non standard et non documenté de MySQL pour ce faire.
Il n'y a aucune garantie que cela continuera à fonctionner dans les futures versions de MySQL, et la requête est susceptible d'être une erreur dans tout autre RDBMS.
Rechercher dans greatest-n-per-group groupe tag pour de nombreuses explications de meilleures solutions pour ce type de requête.