Mám tento dotaz, běží na AWS Aurora, v MySQL režimu, a to je velmi rychlý (100ms):
select rv.kind, rv.sub_kind, count(*)
from revenues rv
where rv.paid_at = '2021-11-17'
group by rv.kind, rv.sub_kind;
Nicméně, když jsem přidat částku, dostane VELMI pomalu (1 minuta a 20 sekund):
select rv.kind, rv.sub_kind, count(*), sum(iugu_fee_cents)
from revenues rv
where rv.paid_at = '2021-11-17'
group by rv.kind, rv.sub_kind;
Jeho jednoduchý dotaz, a mám composite index, který zahrnuje paid_at, kind, and sub_kind
, v tomto pořadí. Pomocí EXPLAIN
na oba dotazy potvrdit index je používán.
Další info je stejný pro oba dotazy, s výjimkou Extra
sloupec, který ukazuje, Using where; Using index
pro rychlý dotaz, a Using index condition
v pomalé dotazu.
Je tam něco, co můžu udělat, aby tento problém vyřešit?