SELECT COUNT(sid),fDate,COUNT(disTINCT(cid))
FROM forwarding
WHERE fDate BETWEEN "2011-06-01" AND "2011-06-30"
GROUP BY fDate
解释给我以下输出:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE forwarding index fDate,fDate_2 fDate_2 3 1481127 Using where
你可以看到有很多数据.
总工作时间为12秒.
我该如何改善表现?我不知道在设置索引时我能做些什么.
这个表有我的索引:
fDate (fDate, f_shop)
fDate2(dDate),
f_shop(f_shop)
谢谢您的帮助.
更新:
SELECT COUNT(sid),fDate,COUNT(disTINCT(cid)) FROM forwarding
WHERE fDate BETWEEN "2011-06-01" AND "2011-06-30" AND f_shop=10077 GROUP BY fDate
我有一个关于forwardDate和f_shop的索引,但性能会变慢.什么是完美的解决方案?
谢谢
解决方法:
到目前为止,How MySQL Uses Indexes回答了有关MysqL索引的所有问题.这可能值得一读.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。