gpt4 book ai didi

mysql - 如何有效地识别大型表中最流行的字符串?

转载 作者:行者123 更新时间:2023-11-29 01:46:01 25 4
gpt4 key购买 nike

假设一个包含 5000 万个姓氏的表(例如),如何有效地识别前 10000 个姓氏?

还有比这更高效的查询吗?

SELECT count(last_name) as cnt, last_name
FROM last_name_table
GROUP BY last_name
ORDER BY cnt DESC
LIMIT 10000;

假设:

CREATE TABLE last_name_table (
`last_name` VARCHAR(255),
KEY `last_name` (`last_name`)
);

我可以在 20 分钟内获得前 1000 名。但是前 10000 名要花一整天(字面意思)。有什么建议吗?

最佳答案

How can I efficiently identify the most popular strings in a large table?

根据你的问题,我假设你不需要确切的数字,大约的数字就足够了。

我建议您选择随机行的一个子集,然后对其进行所有需要的计算。然后对结果进行相对缩放以获得反射(reflect)整个表的近似结果。即使使用近似值,您也有足够多的数据来获得准确的结果。

关于mysql - 如何有效地识别大型表中最流行的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6618493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com