Эй. Как бы вы оптимизировали этот SQL
SELECT SUM(tmp.cost) FROM (
SELECT DISTINCT clients.id as client, countries.credits_cost AS cost
FROM countries
INNER JOIN clients ON clients.country_id = countries.id
INNER JOIN clients_groups ON clients_groups.client_id=clients.id
WHERE clients_groups.group_id IN (1,2,3,4,5,6,7,8,9)
GROUP BY clients.id
) AS tmp;
Я использую этот пример как часть моего проекта Ruby on Rails. Обратите внимание, что мой вложенный SQL (tmp) может содержать более 10 миллионов записей. Вы можете разделить это на большее количество SQL, если производительность выше.
Должен ли я добавить какие-либо индексы, чтобы сделать это быстрее (у меня есть это по идентификаторам)?