我有一个这样的查询:
SELECT
`Games`.`id`, `Games`.`name`, `Games`.`url`
FROM
`Games`
LEFT JOIN
`GamesRuns`
ON
Games.id = GamesRuns.game_id
WHERE
(GamesRuns.date >= '2012-07-17 13:14:08') AND (Games.score = 0) AND (Games.active = 1) AND (Games.display = 1)
GROUP BY
`Games`.`id`
ORDER BY
SUM(GamesRuns.count) DESC
LIMIT 5;
我想问我应该在哪些列上放置索引。我认为它应该在 GamesRuns.date 和 Games.score + Games.active + Games.display 上作为多索引。而且我认为在 GamesRuns.count 上放置索引是没有意义的,因为它在 SUM 函数中,但除此之外(没有 SUM 函数)也应该有一个索引。这样对吗?因为当我使用 EXPLAIN 时,它告诉我 possible_key 和 key 是 PRIMARY,但 PRIMARY 只是 Games.id。谢谢您的回答。