我有一个至少有 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
最佳答案
您无法明确执行此操作。但您可以设置 fetchSize。此参数向 JDBC 驱动程序提示要从数据库一次性获取多行。但司机可以忽略这一点并做他认为合适的事情。有些驱动程序以 block 的形式获取行,有些驱动程序只是一次性读取整个结果集。
使用获取大小(取决于驱动程序)将缓冲数据,因此在性能方面没有问题,因为它隐式地为您进行分块。所以我们从结果集中获取数据的方式基本上没有区别。
关于java - 如何用java从数据库读取大量数据并写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15288050/