如何使用Derby增强批量数据加载的性能?

时间:2011-11-16 01:22:48

标签: performance derby bulkloader

我正在使用Derby In-Memory数据库。我需要在开始时从csv文件执行一些数据加载。目前,将所有csv文件加载到其表中大约需要25秒。我希望时间可以减少。由于数据文件实际上不是很大。

我所做的是使用德比的内置程序。

{CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE (?,?,?,',','"','UTF-8',1 )} or
{CALL SYSCS_UTIL.SYSCS_IMPORT_TABLE (?,?,?,',','"','UTF-8',0 )}

唯一特别的事情是有时一个表中的数据被分成许多小的csv文件。所以我必须逐个加载它们。我已经测试过如果我可以将它们组合在一起,它只需要16秒。但是我无法删除此功能,因为用户需要它。

我有什么办法可以减少加载数据的时间吗?我应该禁用日志还是写一些用户定义的函数/过程或者可以做任何其他调整?任何建议都没问题。

谢谢!

1 个答案:

答案 0 :(得分:1)

使用H2代替Derby,并使用CSVREAD功能。如果仍然太慢,请参阅fast import优化,或直接使用CSV tool(不使用数据库)。免责声明:我为H2编写了CSV支持。