我测试了下,运行时间太长,需要优化,麻烦懂的大佬指点下啊
1
Sumzibuyu OP 只需要这一次整理完就行 ,并非正式环境也需要这样
|
2
D0n9 2020-03-14 03:15:23 +08:00 1
发一下你的方法呀
运行时间太长主要瓶颈在哪。。cpu ? 内存? |
3
Mohanson 2020-03-14 03:23:15 +08:00 via Android
布隆过滤器,O(N), 不存在比它还快的算法了。以前都是 64m 内存玩的,16g 能给你做到 9 个 9.
|
4
luckyrayyy 2020-03-14 03:25:17 +08:00 via iPhone
大数据去重➕允许有错误,考虑布隆过滤器
|
5
sujin190 2020-03-14 09:48:03 +08:00 1
如果一次性的话,直接小表读出来存到 dict 里,大表顺序读判断就是了啊,16g 内存绰绰有余了,才一千万,又不是一千亿,不用想那么多吧
需要重复做的话,这是结构设计问题,应该在源头来解决吧 |
6
micean 2020-03-14 09:49:21 +08:00 via Android
字段 c 有索引吧,先试试简单的,每次从 a 表读 50 万数据,去和 b 表比较,然后把结果保存。别想着一次性干完。
|
7
wanguorui123 2020-03-14 11:10:45 +08:00 via iPhone
Redis 哈希去重复
|
8
Sumzibuyu OP 我对数据库不太懂,也是一次性任务,就想把这一次过去,目前我感觉 mysqld 的内存占用只有 200M+ cpu 20%
|
10
Sumzibuyu OP mysql8 MyISAM
|