我正在尝试将一个 csv 文件导入 MySQL 数据库,并且我在 groovy 中创建了一个脚本以使用 Hibernate 执行此操作。问题是,csv 文件非常大,大约有 4800 万行。我正在打开一个 session 并为每一行提交一个事务,但后来我发现这需要很长时间。按照运行脚本一天后添加到数据库的行的速度,导出所有内容需要一个多月的时间。所以,我想瓶颈可能在于打开一个 session 并为每一行提交一个事务......然后我决定只打开一个 session ,读取每一行,为每一行实例化一个实体,将它保存在 session 中,并在读取所有 4800 万行并将 4800 万个实体存储在 session 中之后,使用所有这些实例提交一个事务。好吧,那也没有用。有什么方法可以更快地将此 csv 文件导入 mysql 数据库吗?还是真的需要那么长时间?
最佳答案
我建议你不要使用 Java 而使用 LOAD DATA INFILE 'c:/tmp/discounts.csv' ...
参见 http://www.mysqltutorial.org/import-csv-file-mysql-table/
关于java - 使用 Hibernate 将 csv 文件导入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25601467/