Я хочу запустить запрос, который генерирует отчет о доходах для кампаний. Есть 2 стола членов и платежи.Оптимизировать запрос для MySQL
members (id, campaign_code)
payments (id, member_id, amount)
Я хочу, чтобы создать таблицу группы по campaign_code
, т.е. в этом формате
campaign_code, member_count, total_revenue
Я кладу все кампании в массив и работает это,
SELECT sum(amount) AS amt
FROM (members
INNER JOIN payments
ON payments.member_id = members.id
)
WHERE campaign_code = 'XX'
и занимает много времени. В любом случае, чтобы оптимизировать это или сделать это в одном запросе?
ли member_id и идентификатор имеет индексы? – Chris
Да, у обоих есть индексы. В платежах будет около 75 тыс. Членов и 80 тыс. Строк. Не много. – daydreamer
'... где campaign_code в (xx, yy, zz)'. Сделайте цикл, чтобы создать единый оператор sql, который выглядит так. – Stevo