私は約600万行を返すクエリを持っています。これは大きすぎてメモリ内で一度にすべてを処理できません。どのように私はスカラーのデータ構造のサイズを近似することができますか?
各クエリはTuple3 [String、Int、java.sql.Timestamp]を返します。私は文字列がUTF8約20文字以上ではないことを知っています。
どのようにこれらのタプルの1つの最大サイズを調べることができますか、より一般的に、このようなスカラーデータ構造のサイズをどのように近似できますか?
私は使用しているマシンで6Gbを持っています。ただし、scala-queryをスカラーのリストに使用して、データベースからデータを読み取っています。
良い点、私は文字列とオブジェクトのオーバーヘッドの余分なオーバーヘッドを忘れていました。それでも、あまりデータはありません。 –
String配列の文字あたり24を加えた理由はなぜですか? IIRCでは、配列は、非配列の場合は8バイト対4バイト、要素に加えて8バイトです。 @DanielC。 –
Sobral - オブジェクトオーバーヘッドと長さがあり、64ビットマシンでは16バイトなので、少し離れていました。 –