4

Java アプリケーションでデータベース エンティティを作成し、「id」フィールドのクラス タイプとして整数または長整数を使用することを合理化しようとしています。Hibernate を ORM として使用しています。これにより、このフィールドが HSQLDB データベースの列にマップされます。

私の苦労は次のとおりです。Long は明らかに大きく、より多くのエントリを処理しますが、非常に低いレベルでは、過去 (32 ビット システム) の OS レベルの読み取りは 32 ビット幅であることがわかっています。IE: 長い読み取りには 2 回のパスが必要です ... その考え方は正しいですか?

今日、Long を使用すると、HSQLDB クエリの実行速度は、Integer を使用した場合よりも遅くなりますか?

IE: HSQLDB は何らかの方法で複数の読み取りパスを使用する必要がありますか...またはより大きな内部構造を使用するか...または 2 つの整数サイズの列を追加しすぎる必要がありますか...または明らかに非理想的な何か? それとも、今日の 64 ビット処理では、どういうわけか議論の余地がありますか?これは、1 回の読み取りで Long を処理する必要があります (Long は 64 ビットです)。

4

1 に答える 1

3

ロングを使用。インメモリ データベースを使用しても、パフォーマンスへの影響は、アプリケーションの残りの部分に比べて大きくない可能性が非常に高くなります。ただし、識別子が不足し始めた場合に、後で戻ってアプリケーションを変更するのは非常に面倒です。

于 2009-04-01T15:29:01.597 に答える