【发布时间】:2014-11-13 23:49:20
【问题描述】:
我正在实现从一个数据库到另一个数据库的特定于应用程序的数据导入功能。
我有一个包含 10000 行的 CSV 文件。这些行需要插入/更新到数据库中。
我正在使用 mysql 数据库并从 Java 插入。
可能存在这样的情况,即数据库中可能存在几行,这意味着需要更新这些行。如果数据库中不存在,则需要插入。
一种可能的解决方案是,我可以逐行阅读,检查数据库中的条目并相应地构建插入/更新查询。但是这个过程可能需要很多时间来创建更新/插入查询并在数据库中执行它们。有时我的 CSV 文件可能有数百万条记录。
还有其他更快的方法来实现这个功能吗?
【问题讨论】:
-
对于性能,您可以考虑使用 LOAD DATA INFILE 和 REPLACE 选项,请参阅LOAD DATA INFILE Syntax