我永远不会理解mysql索引的正确用法。在我读过的每一篇文章和文档中,他们都在谈论简单的索引。我有以下疑问:
SELECT COUNT(sid),f_partner,COUNT(DISTINCT(cid)) FROM sal_forwarding WHERE
forwardDate BETWEEN "2011-06-01" AND "2011-06-30" GROUP BY f_partner读取数据需要2分钟。:(表中有140万个数据行。
下面是解释结果:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE sal_forwarding index forwardDate,forwardDate_2,forwardDate_3 f_partner 25 (NULL) 1416282 Using where我的索引是(f_partner,forwardDate)。提高性能的正确解决方案是什么?
f_partner = varchar(20)
forwardDate = Date非常感谢。
发布于 2011-10-11 21:47:30
索引应该是(forwardDate,f_partner) -首先满足where子句,然后是group_by
https://stackoverflow.com/questions/7725803
复制相似问题