我想使用Java将数据库中的大量数据(几百万行)导出到csv文件中。在这一刻,我遍历结果集,将行添加到列表中,然后每隔1000行将行写入文件中,然后清除列表。
在这一刻,我花了大约50秒钟来导出50万行。还有其他更快的方法可以进行此导出吗?
谢谢。
答案 0 :(得分:2)
打开Toad并连接到数据库。 然后单击菜单数据库>编辑器,以打开SQL编辑器窗口。 在“ SQL编辑器”窗口中,键入您的SQL查询,然后按Ctrl + Enter执行并在网格中获取结果。下面是一个SQL查询的示例。
选择“客户名称”, cust_last_name, cust_city, cust_state_province, cust_main_phone_number 来自sh.customers WHERE country_id ='52775'并且cust_valid ='A';
然后右键单击Toad中的Grid,然后从快捷菜单中选择Export Dataset选项。 在“导出数据”窗口中,选择下图所示的选项,以将数据从Toad导出到CSV文件。从“导出格式”下拉列表中选择“分隔文本”选项。在“文件”字段中指定文件位置和名称。指定定界符,然后单击“确定”导出。
答案 1 :(得分:0)
我使用了Prepared Statement中的.setFetchSize(1000)方法,可以在大约40秒内导出大约400万行。
也许对其他人有用。 :D