在MySQL中有效地计算密码哈希的频率

时间:2017-12-11 14:18:08

标签: mysql hash group-by count frequency

对于我的学士论文,我必须分析密码泄漏,我有一个包含2个列的表 MEMBER_EMAIL MEMBER_HASH

我想有效地计算每个哈希的频率

这样输出如下:

Hash    | Amount
----------------
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天,结果是一个奇怪的连接超时错误,即使我的设置是关于细

所以我想知道是否有更好的计算方法(因为我无法想到任何方法),我们将不胜感激!

1 个答案:

答案 0 :(得分:1)

您的查询无法进行优化,因为它非常简单。我认为改进查询执行方式的唯一方法是索引" MEMBER_HASH"。

这是你可以做到的:

ALTER TABLE `table` ADD INDEX `hashed` (`MEMBER_HASH`);