500W数据去重复
有个文本文档,里面一行是一条数据,大概有560多W条,数据库有张表,有一列对应文本的数据,怎么找出文本文档里面有,数据库却没有的数据
[解决办法]
好大的文件……这样数据库也要很大吧
[解决办法]
写个程序吧 你可以吧文本文件一行一行的读出来,每读一行查一次数据库,看看是否有,没有你就把这行文本写到另一个文件,也可以写到数据库。
[解决办法]
先读出来 然后去掉重复 我去..好多信息..
[解决办法]
有个思路,不知可不可行。
1.把数据库里的数据读出来存到文件里(能排序最好,不能也无所谓)。
2.对数据库导出的文件(如果没有排序)和原有文本文件用相同的方式排序分别生成新的文件(这么大的数据量排序可以用外排序的方式实现)。
3.对2中生成的两个排序好的文件逐行判断(这个操作大学数据结构里应该学),这样做耗费的时间应该不多。
[解决办法]
1.开A线程把文本一行行读出来,把每20个一组放到一个集合里。
2.开n个B线程不停的从集合里取一组,再删除这组数据,执行sql:in(.....),返回结果判断如果不存在,保存到数据库里的另一个表里。
如果表数据不多这么搞速度应该不错。
如果表数据太多,就拆分,办法也有。
[解决办法]
我觉得,先将文本文件的数据插入到临时表(用存储过程进行插入的话,500W数据大概要3-5分钟),然后再去通过sql语句取出相同的部分,至于取出来之后怎么用就看楼主的了
[解决办法]
不要用程序了,用数据库处理吧,把文本信息存到另一个表里。用数据库去操作比较
[解决办法]