我有一个带有至少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
答案 0 :(得分:3)
您无法明确地执行此操作。但是你可以设置fetchSize。此参数提示JDBC驱动程序,以便从数据库中一次性获取许多行。但是司机可以自由地忽略这一点并做它认为合适的事情。有些驱动程序以块的形式获取行,有些只是一次性读取整个结果集。
使用获取大小(取决于驱动程序)将缓冲数据,因此在性能方面没有问题,因为它隐含地为您进行分块。因此,从结果集中获取数据的方式基本没有区别。