11

Javaで生成されたUUIDをOracle DBに格納する効率的な方法は何ですか? UUIDのハイフンを削除するか削除しないかは、ストレージ/パフォーマンスに役立ちますか?



07b319dc-7e64-4047-a3e3-63ab43864d81そのまま
収納するか、そのまま収納
07b319dc-7e64-4047-a3e3-63ab43864d81するかで07b319dc7e644047a3e363ab43864d81

違いはありますか?

4

1 に答える 1

11

ハイフンを削除すると、データベースの1行あたり正確に4文字節約できますが、これは実際には努力する価値がありません。これらの4つの文字のために、Oracleは大幅に遅くなったり速くなったりすることはありません。さらに悪いことに、値を選択してJavaアプリケーションに戻し、java.util.UUIDオブジェクトを再作成する場合は、正しい場所にハイフンを再挿入する必要があります。

データベースのメモリを少し節約したい場合はRAW(16)(質問のコメントでvcsjonesが言及しているように)、フットプリントが最小になります。ただし、この型を使用する場合は、UUIDを配列RAWに分解する必要があります。1つまたは2つの値しか返さないbyte[]ため、これは少し注意が必要です。配列からのオブジェクトの再作成はさらに注意が必要です。java.util.UUIDStringlongUUIDbyte[]

于 2012-11-28T19:24:05.253 に答える