我有以下 MySQL 查询,它工作得很好。除了我需要添加一个FORCE INDEX
并且我不确定我必须在哪里执行此操作。我几乎尝试了每个位置,但总是收到 MySQL 错误。我究竟做错了什么?
这是原始查询:
$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");
查询是以这种方式构造的,以便我可以在ORDER BY
之前执行GROUP BY
,以防您想知道。
我需要补充的是:
FORCE INDEX (products_start_time)
我几乎在所有地方都尝试过但没有成功,这让我相信我错过了更复杂的东西?