JavaDB データベースが必要とするサイズを計算したいので、ディスク上で使用されるバイト数を知るために char がどのようにエンコードされているかを知る必要があります。
Derby が使用する文字エンコーディングを知っている人はいますか? Derby は Unicode を使用していると読みましたが、エンコーディングに関する情報は見つかりませんでした (リファレンス マニュアルや他のページにもありません)。
UTF8だと思います。
ただし、データベースが使用するディスク容量を把握しようとするときは常に、ベンチマーク アプローチを使用します。サンプル データベースを生成する小さなテスト プログラムを作成し、サンプル テスト データを使用して、そのデータを作成するように注意します。できる限りアプリケーションの代表として。現実的になるのに十分なデータを生成します (たとえば、少なくとも 10,000 行)。
10,000、100,000、または 1,000,000 のような適切なラウンド数の行を生成します。次に、Derby がディスク上に作成した実際のデータベース ファイルを見て、それらがどのくらい大きいかを確認し、少し照合すると、結果を把握できます。
このようなアプローチの良い点は、次のような間違いを見つけるのに役立つことです: セカンダリ インデックス全体を忘れる、UNIQUE 制約が舞台裏で大量のオーバーヘッドを追加したことを理解しない、または作成した列のいくつかをカウントするのを忘れる考えは問題ではありませんでしたが、かなりの量のスペースを取ることが判明しました。