現在、UUID を主キーとして使用する postgresql データベースがあります。
方言「org.hibernate.dialect.PostgreSQLDialect」
でpostgresqlを管理するために、ORMツールとしてhibernateを使用しています</p>
「時間ベース」/「バージョン 1」UUID が使用されている場合に読み取り/書き込みパフォーマンスを向上させる方法があるという記事 ( http://mysql.rjweb.org/doc.php/uuid ) を読みました。そのためには、UUID の 3 番目の部分を再配置する必要があります。つまり、3 番目の部分が最初の部分になるように再配置します。その後、時間の経過とともに順調に増加する数値を取得しています。アイデアは、そのようなテーブルにインデックスを配置することです。したがって、IO をさらに高速化できます。
問題は次のとおりです。何億行もあるテーブルでこれを使用しようとした人はいますか?もしそうなら、この変更は理にかなっていますか? つまり、UUID は今日発見されていないアイデアであり、これがこれまで行われていない理由があるに違いありません。
休止状態を使用してそのような UUID を生成するにはどうすればよいですか? フィールド「private UUID studentId;」はどのようにすべきですか? つまり、hibernate にそのような UUID を生成するように指示するには、どの注釈を使用する必要があるかのように見えます。java.util.UUID をインポートします。
@Id
@Index
@Column(name="STUNDENT_ID")
@NotNull
private UUID studentId;