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

MySQL:nhiều bảng hay một bảng có nhiều cột?

Bất kỳ lúc nào thông tin là một-một (mỗi người dùng có một tên và mật khẩu), thì tốt hơn nên có một bảng, vì nó làm giảm số lượng liên kết mà cơ sở dữ liệu cần phải làm để truy xuất kết quả. Tôi nghĩ rằng một số cơ sở dữ liệu có giới hạn về số cột trên mỗi bảng, nhưng tôi sẽ không lo lắng về điều này trong trường hợp bình thường và bạn luôn có thể chia nhỏ nó sau nếu cần.

Nếu dữ liệu là một-nhiều (mỗi người dùng có hàng nghìn hàng thông tin sử dụng), thì dữ liệu đó nên được chia thành các bảng riêng biệt để giảm dữ liệu trùng lặp (dữ liệu trùng lặp làm lãng phí không gian lưu trữ, không gian bộ nhớ cache và làm cho cơ sở dữ liệu khó bảo trì hơn ).

Bạn có thể tìm thấy bài viết trên Wikipedia về chuẩn hóa cơ sở dữ liệu thú vị, vì nó thảo luận sâu về lý do cho điều này:

Chuẩn hóa cơ sở dữ liệu là quá trình tổ chức các trường và bảng của cơ sở dữ liệu quan hệ để giảm thiểu sự dư thừa và phụ thuộc. Chuẩn hóa thường liên quan đến việc chia các bảng lớn thành các bảng nhỏ hơn (và ít dư thừa hơn) và xác định mối quan hệ giữa chúng. Mục tiêu là tách biệt dữ liệu để có thể thực hiện thêm, xóa và sửa đổi trường chỉ trong một bảng và sau đó được truyền qua phần còn lại của cơ sở dữ liệu thông qua các mối quan hệ đã xác định.

Chuẩn hóa cũng là điều cần lưu ý, vì có những trường hợp dữ liệu lặp lại sẽ tốt hơn (vì nó làm giảm khối lượng công việc mà cơ sở dữ liệu cần làm khi đọc dữ liệu). Tôi thực sự khuyên bạn nên làm cho dữ liệu của bạn được chuẩn hóa hết mức có thể để bắt đầu và chỉ chuẩn hóa lại nếu bạn biết các vấn đề về hiệu suất trong các truy vấn cụ thể.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao điều kiện IN lại chậm hơn =trong sql?

  2. Mệnh đề MySQL LIMIT tương đương cho SQL SERVER

  3. Làm cách nào để thay thế một biểu thức chính quy trong MySQL?

  4. CHAR () Ví dụ trong MySQL

  5. Cách sao lưu / xuất cơ sở dữ liệu MySQL bằng PHP