0

少なくとも 2 GB のデータを含む derby データベースがあり、このデータを読み取ってテキスト ファイルに書き込む必要があります。ここで、列の一部が BLOB データ型である可能性があります。

私の現在のアプローチは、一度に 1 つのテーブルから 10 のバッチ サイズ (たとえば) でデータを読み取り、データ (文字列のリスト) を最大サイズ 10 の配列ブロック キューに入れることです。キューから、スレッドが選択されます。要素を 1 つずつファイルに書き込みます。

私は次の問題に直面しています、

  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 ドライバーへのヒントです。しかし、ドライバーはこれを無視して、適切と思われることを自由に行うことができます。行をチャンクでフェッチするドライバもあれば、結果セット全体を一度に読み込むだけのドライバもあります。

フェッチ サイズ (ドライバーによって異なります) を使用するとデータがバッファーされるため、暗黙的にチャンキングが行われるため、パフォーマンスの面で問題はありません。したがって、基本的に、結果セットからデータを取得する方法に違いはありません。

于 2013-03-08T06:50:05.957 に答える