如何从数据库中读取大量数据并在java中写入文件?

时间:2013-03-08 06:28:28

标签: java derby

我有一个带有至少2 GB数据的derby数据库,我必须读取这些数据并写入文本文件。现在,某些列可能是blob数据类型。

我目前的方法是一次从一个表中读取批量大小为10的数据(比方说),并将数据(字符串列表)放入最大大小为10的数组阻塞队列中。线程将逐个选择元素并写入文件。

我正面临以下问题,

  1. how to fetch 10 rows from a table in a single hit and fetch next 10 rows in second
  hit and so on.
  2. how to convert blob and binary data into string 

1 个答案:

答案 0 :(得分:3)

您无法明确地执行此操作。但是你可以设置fetchSize。此参数提示JDBC驱动程序,以便从数据库中一次性获取许多行。但是司机可以自由地忽略这一点并做它认为合适的事情。有些驱动程序以块的形式获取行,有些只是一次性读取整个结果集。

使用获取大小(取决于驱动程序)将缓冲数据,因此在性能方面没有问题,因为它隐含地为您进行分块。因此,从结果集中获取数据的方式基本没有区别。