最近在测试各种开源数据库的性能,需要导入大容量数据,毕竟很多bench认为造的数据太简单,或者说测试sql语句too simple, 还是需要从真实的系统中导入海量数据。
一开始用delphi或bcb带的datapump, 勉强可用,但有不少缺点或限制:
1、数值类型有时不能自动映射
2、中途万一网络中断,无法追加导入,太浪费时间;
3、速度不快,也就每小时1千条不到。
后来发现,java界有个jdbc复制工具叫sql workbench,真实功夫不负有心人啊。但还是有波折,一开始复制没设置好表的主健,无法复制。 后来发现不错:
1、数据源可以使sql生成的结果集,这样就可以分批导入了。
2、有批量提交设置,和结果集prefetch数据设置,这样,速度快多了,达到1千条以上,没小时可导400万条数据。
3、还是java的,可以在x上run.又是开源的,有时间,还可以自己优化。
sqlworkbenche的下载地址如下:http://sql-workbench.net/downloads.html