使用java将7000万条记录从xml插入mysql的最快方法

使用java将7000万条记录从xml插入mysql的最快方法,java,mysql,database,Java,Mysql,Database,我编写了一个java代码,使用jaxb解析xml文件,然后将xml文件中的数据插入到我的sql中。代码根据xml标记插入到不同的20个表中。 我的问题是,我的代码运行了3天,它可能会向我的sql数据库插入500万条记录! 这样我需要等一个月才能完成这项工作。。 你能给我一些提示吗?我该如何提高代码的效率?MySQL支持“加载数据”命令和CSV格式。因此,将XML转换为准备好的CSV,然后通过mysql功能加载将是最快的解决方案: 是否一次插入一条记录?MySQL支持多插入:您真的需要XML格式的

我编写了一个java代码,使用jaxb解析xml文件,然后将xml文件中的数据插入到我的sql中。代码根据xml标记插入到不同的20个表中。 我的问题是,我的代码运行了3天,它可能会向我的sql数据库插入500万条记录! 这样我需要等一个月才能完成这项工作。。
你能给我一些提示吗?我该如何提高代码的效率?

MySQL支持“加载数据”命令和CSV格式。因此,将XML转换为准备好的CSV,然后通过mysql功能加载将是最快的解决方案:


是否一次插入一条记录?MySQL支持多插入:您真的需要XML格式的查询吗?你能不能换一种格式(比如普通SQL)?@weston我想,由于数据量太大,即使是多插入(或批插入)也不适合这里。潜在回滚的内部缓存不会被逗乐。使用外部方式,如答案中的“加载数据”,将更合适。@weston cool。但仍然需要读取xml文件并存储在java结构中,然后执行多次插入。所以我认为java不能存储5000万个java结构?我想是时候展示你的代码了。