解决方案 »

  1.   

    最简单容易想到的思路:类似于两个list
    当然不是说把所能的数据读到list里,
    而是从文件一读一条然后循读文件二进行比较
    内存耗的少,速度慢
      

  2.   

    这个问题你昨天就发过了吧。。
    反正昨天好像看到过。。
    一次型全部装入内存是不行的,
    那么我们能不能根据txt来创建一个索引呢?
    就比如能不能根据id的前两位把数据分放到多张表中(根据id前两位明明表名或者文件名)。
    查询的时候,遍历一个文件,先查10开头的文件,然后11,然后12.。。
      

  3.   

    1、笨办法从1里面找第一行的 id  ,找到1里面是否还有id跟第一行一样,把一样的取出来
    然后遍历 2里面的id,如果找到 把记录取出来保存。2、优化一下每次匹配完成后  把1 跟 2 里面对应的记录删掉,这样的话越往后文件越来越小,效率会越来越高
      

  4.   

    1. 两个500w文件塞进内存应该不夸张吧?2. 如果实在不行,遍历小的那个文件,建立user_id - 行数的索引放在内存,然后在根据索引内容和第二个文件做连接3. 如果实在还是不行,建立第一个索引以后再建一个索引,然后两个索引做连接4. 如果实在还不行,请砸键盘
      

  5.   

    用hadoop吧 适合处理大数据
      

  6.   

    百度 lucene 全文检索
    倒序索引 
    对你有帮助的如果数据只用一次的话,最快最好的方法就是暴力搜索。如果考虑数据以后需要维护增删改查,那就要见索引了。
      

  7.   

    用了4L大大的办法成了……
    我觉得这个也可行,不过没试,但是IO操作耗时啊,所以可以攒够了一堆再删?