在我们公司,我们从第三方获取库存文件。这些文件采用固定格式,包含 13 位 EAN(想想 UPC 代码)以及其他数据。我的数据库中还有一个 EAN 主列表。
我想将主文件与新文件进行比较,并从新文件中删除所有行,其中包含不在主文件中的 EAN。
示例:大师
1234567890123
4567890123456
新文件 1234567890123 4567890123456
5678901234567 <- 删除这个
新文件包含 EAN 以外的数据。EAN 在第一列。数据是制表符分隔的。
我目前正在 PHP 中执行此操作。问题是两个文件都有大约 4 百万。每一行,我的脚本都消耗大量内存。我目前将整个主列表加载到 RAM 中并执行 isset()s。
有什么聪明的 linux 技巧/程序可以帮助我吗?