我在 MySQL 中有一个大数据集(用户、公司、联系人)?大约 100 万条记录。
现在我需要从大约 100000 条记录的导入文件 (csv) 中导入新用户、公司、联系人。我从文件中记录了所有三个要素(用户、公司、联系人)的所有信息。此外,在生产中我不能使用加载数据(只是没有那么多权利:()。
因此,应该将三个步骤应用于该数据集。- 与现有的数据库数据进行比较 - 更新它(如果我们会在上一步找到一些东西) - 并插入新的记录
我在服务器上使用 php 来做到这一点。我可以看到两种方法:
- 一次从文件中读取所有数据,然后使用这个 BIG 数组并应用这些步骤。
- 或从文件中逐行读取并通过步骤传递每一行
哪种方法更有效?按 CPU、内存或时间使用
我可以使用交易吗?或者它会减慢整个生产系统?
谢谢。