Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Điều gì xảy ra khi thêm ràng buộc UNIQUE nhiều lần trên cùng một cột MySQL?

Mỗi lần thêm UNIQUE trên cùng một cột, MySQL tạo một index UNIQUE mới riêng biệt (với tên tự động tăng: col_name, col_name_2, col_name_3...).

Ví dụ minh họa

Bảng employee ban đầu có UNIQUE trên empid:

mysql> SHOW INDEX FROM employee\G
Key_name: empid  (chỉ 1 index)

Thêm UNIQUE lần 2:

mysql> ALTER TABLE employee ADD UNIQUE(empid);
mysql> SHOW INDEX FROM employee\G
Key_name: empid
Key_name: empid_2   (đã có 2 index)

Thêm UNIQUE lần 3:

mysql> ALTER TABLE employee ADD UNIQUE(empid);
mysql> SHOW INDEX FROM employee\G
Key_name: empid
Key_name: empid_2
Key_name: empid_3   (3 index riêng biệt)

Mỗi index đều kiểu BTREE, Non_unique=0. Việc này lãng phí dung lượng và làm chậm INSERT/UPDATE. Nên tránh thêm UNIQUE trùng lặp.