设计算法上传大文本文件并比较到mySql的行

时间:2015-03-10 10:04:23

标签: javascript php mysql algorithm file-upload

我需要一些帮助来设计有效的算法(我不需要你给我写任何代码!)。

我建立了一些PHP网站。

用户将上传到我的网站一个大文件(200mb +)。这个文件就像一张大桌子。

我需要将每一行与mySql进行比较。

如果mySql表的行之间有不匹配,我需要从输入文件中删除这一行。


例如:

输入文件:

chr     pos     info              // columns
b       12      aaaaaaaaaaaaaaaaa
b       13      cccccc
c       100     fffffffffff

mySql表:

chr     pos              // columns
a       10
a       12
b       12
c       100
c       18

如果输入文件中的一行chr pos,mySql中的行中不存在 - 它将删除此行来自输入文件。

所以新的输入文件将是:

chr     pos     info              // columns
b       12      aaaaaaaaaaaaaaaaa
c       100     fffffffffff

对于有效的运行时间,你会有任何有效的方法吗?

我不需要你给我写代码,我只需要理解算法。

我尝试做的算法:

  1. 将文件上传到服务器,然后将文件上传到带有LOAD DATA LOCAL INFILE的临时mySql表,然后使用常规的SQL查询来比较行。
  2. 将文件上传到服务器,然后将文件转换为巨大的2D数组,然后将数组中的每一行与mySql进行比较。
  3. 将文件上传到服务器,在上传时,比较上传到mySql的每一行。
  4. 我对第一算法的处罚比 seconed 更好。我还没有尝试过第三次

0 个答案:

没有答案