0

我有一个至少有 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 
4

1 回答 1

3

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

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

于 2013-03-08T06:50:05.957 回答