none
C#中 怎么快速处理,在20万以上的数据 中根据找出有关关键词的数据 RRS feed

  • 问题

  • 在C#的窗体中,我用了三个txt文本控件用于接收数据,
     首先导入文本文件到第一个txt文本框中(这里有20万以上的数据),
     再导入第二个文本数据(这里有1000-4000的数据)
     处理过程是这样子的:比如:第一个里面有(2014新年快乐,今年是2014年,新年好...)第二个里面(2014,...) 处理完结果打印到第三个文本中(新年好, ...)。
      
     现在我的问题是怎么样能够快速的处理这些数据,(最好在一分钟内处理完),
     我现在的思路是有三种:
     第一直接到内存中处理用for循环和List集合,这样的处理速度很慢,for循环的次数太多。(处理十几分钟)
     第二我用了一个数据库,先把数据导入到数据库中,然后再利用sql语句查询出来,这种方式也不太理想处理速度也是很久的。
     第三是用了linQ的查询方法 ,之前发过贴有两位大神帮忙整理了一下思路 q107770540 和 caozhy 


     有没有更好的方法处理这些数据在性能上,能够更快速,更优!求大神!
    2014年2月17日 11:09

答案

  • 你好,楼主,

    可以将数据load到内存中,然后用多线程方式来处理,将内存的数据分成几部分,交由多个线程并行处理,比如经典的生产消费者模式,使用 M 生产者,和 N 消费者实现。


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2014年2月18日 1:41
    版主