我正在尝试找到一种方法来有效地将 CSV 文件内容与 MySQL 数据库(超过 100 万行进行比较)进行比较,我在将所有行放入数组之前做了类似的事情,但这适用于小由于内存过载而导致的行数。
我的问题是,有没有推荐的方法来做到这一点?任何图书馆或可以提供帮助的东西?
我很感激你的回答。
除了@therefromhere 的出色答案之外,您还可以在 MySQL 和原始文件中计算哈希值,然后比较两者。
我自己从未尝试过,但 MySQL 有一个 CSV 表类型。您可以让 MySQL 直接读取文件,就好像它只是另一个数据库表一样。您可能需要先创建一个与您拥有的 CSV 文件匹配的空表,这样 .frm 文件才会在数据目录中创建。然后,您可以将数据目录中的空 .csv 文件替换为您的 CSV 文件。由于您没有进行导入,因此您可能需要运行修复表。
http://dev.mysql.com/doc/refman/5.1/en/csv-storage-engine.html