1-yes, 2-yes, 3-yes, 4-yes.
Ngoài ra ...
- Bạn có thực sự cần
BIGINT
không ? Sẽ không có 4 tỷ giá trị trongINT UNSIGNED
đủ? (Và tiết kiệm một nửa dung lượng.) Có lẽ làid
PK của một số bảng khác là gì? Nếu vậy, bảng đó cũng cần thay đổi. - Có thể
state
được bình thường hóa? Hoặc biến thànhENUM
? Một lần nữa tiết kiệm dung lượng.
Mục 3 là tệ hơn được đề cập vì cần phải khóa trên hai chìa khóa duy nhất.