Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Có bất kỳ lợi ích nào khi có khóa chính tự động tăng dần trong bảng tổng hợp MySQL không?

Các bài đăng và danh mục có thể là nhiều-nhiều, không phải một-nhiều.

Tốt nhất nên thực hiện một bảng mối quan hệ nhiều-nhiều như

CREATE TABLE a_b (
a_id ... NOT NULL,
b_id ... NOT NULL,
PRIMARY KEY (a_id, b_id),
INDEX(b_id, a_id) -- include this if you need to go both directions
) ENGINE = InnoDB;

Với điều đó, bạn sẽ tự động nhận được tra cứu "theo nhóm" theo cả hai hướng và bạn tránh được id nhân tạo không cần thiết cho bảng.

(Nhân tiện, N.B., PK ngầm là 6 byte, không phải 8. Có một bài đăng dài của Jeremy Cole về chủ đề này.)

Mối quan hệ một-nhiều không cần bảng phụ này. Thay vào đó, hãy có một id bên trong bảng khác. Ví dụ:bảng Thành phố sẽ có id cho Quốc gia trong đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sử dụng tự động hóa để tăng tốc độ kiểm tra phát hành trên Galera Cluster With ClusterControl

  2. Điền nhiều bảng trong buồm nước orm

  3. sự cố ứng dụng trên JSON jparser thực hiện yêu cầu http

  4. Sửa lỗi Quyền truy cập bị từ chối cho người dùng 'root' @ 'localhost' cho phpMyAdmin

  5. Trong PHP / MySQL, tôi nên mở nhiều kết nối cơ sở dữ liệu hay dùng chung 1?