使用group by和sum优化查询

问题描述 投票:0回答:1

以下查询执行8秒

SELECT `currency`, sum(amount) as amount
FROM `p_transactions`
WHERE `member_id` = 2051
AND `transaction_type` = 'debit'
AND `transaction_status` = 12
GROUP BY `currency`

但如果删除GROUP BY currency部分它会短至2秒。有没有办法加快这个查询?

索引是复合的(member_id,transaction_type,transaction_status)。

mysql query-optimization
1个回答
0
投票

尝试将索引更改为:

(member_id, transaction_type, transaction_status, currency)
© www.soinside.com 2019 - 2024. All rights reserved.