複合主キーをやめてユニークインデックス制約に移行する
2020/02/20 18:17:332020/02/20 19:03:41
uniqueindex.ts @Index(["yuni", "kude", "attehosii", "kumiawase"], { unique: true })
export class Entity {...}yuni kude attehosii kumiawase が同一のレコードが1つしか挿入できなくなります yuni レコードの WHERE が早くなる挙動をしなかった @Column({ type: "int", unsigned: true, unique: true }) してたやつあったんですけど SELECT の速度測る前に今回やりたいこととは違うことに気づいてデータ飛ばしちゃったな migration.sql ALTER TABLE `target_table` DROP PRIMARY KEY, ADD PRIMARY KEY (`id`); /* id のみ PRI */
ALTER TABLE `target_table` CREATE UNIQUE INDEX `IDX_f93ce13306a659c4d4465b58az` ON `target_table` (`yuni`, `kude`, `attehosii`, `kumiawase`); /* ユニークインデックスを貼る */f93ce13306a659c4d4465b58az は単純に TypeORM が生成したハッシュ値です、実際に適用する時は適当に手元で計算してください。 Generated from
複合主キーをやめてユニークインデックス制約に移行する