私はa Java jpaを使用する開発者です。エンティティのインデックスを定義する前に、どちらがより高速で使いやすいかを知りたいです。
bigserial
は、シーケンスを作成するための省略形です。したがって、入力にかかる時間を含めると、bigserialの「パフォーマンス」が向上します。
_CREATE TABLE tablename (
colname BIGSERIAL
);
_
等しい
_CREATE SEQUENCE tablename_colname_seq;
CREATE TABLE tablename (
colname biginteger DEFAULT nextval('tablename_colname_seq') NOT NULL
);
_
また、これらが主キーである場合、それらにはすでにインデックスが付けられているため、それらにインデックスを付ける必要はありません(ただし、外部キー列は自動的にインデックス付けされません、FYI)。
JPAの場合、PostgreSQLシリアル/ビッグシリアル列には@GeneratedValue(strategy=GenerationType.IDENTITY)
を使用する必要があります。