【发布时间】:2017-12-11 14:18:08
【问题描述】:
对于我的学士论文,我必须分析密码泄漏,我有一个包含 2 列 MEMBER_EMAIL 和 MEMBER_HASH
的表我想高效地计算每个哈希的频率
所以输出看起来像:
哈希 |数量 ---------------- 2e3f.. | 345 2f2e.. | 288 b2be.. | 189到目前为止,我的查询是直截了当的:
SELECT MEMBER_HASH AS hashed, count(*) AS amount
FROM thesis.fulllist
GROUP BY hashed
ORDER BY amount DESC
虽然它适用于较小的表,但我在计算整个列表(112 个 mio。条目)上的查询时遇到了问题,我需要 2 天以上的时间,即使我的设置是这样的,也会以奇怪的连接超时错误结束很好。
所以我想知道是否有更好的计算方法(因为我真的想不出任何方法),不胜感激!
【问题讨论】:
-
GROUP BY可以使用索引,
hashed是否被索引了? -
感谢您的建议,只有列和 MEMBER_EMAIL 的组合被编入索引,哎呀!一定要试一试,谢谢!
标签: mysql hash group-by count frequency