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

Mysql:Có thực tế không khi tạo một bảng riêng cho các bài đăng của mỗi người dùng

Bạn nên thêm id người dùng vào cửa hàng / bài đăng. Có nhiều lý do khiến bạn không muốn có các bảng riêng biệt cho từng người dùng:

  • MySQL được thiết kế để xử lý các bảng có nhiều hàng chứ không phải nhiều bảng có cùng cấu trúc.
  • Cấu trúc các truy vấn đi qua các bảng sẽ yêu cầu kết hợp nhiều bảng khác nhau.
  • Một thay đổi nhỏ đối với cấu trúc dữ liệu, chẳng hạn như thêm một cột mới, sẽ trở thành cơn ác mộng.
  • Tham chiếu khóa ngoại đến các cửa hàng trở nên không thể.
  • Nếu dữ liệu cho người dùng không lấp đầy một trang dữ liệu, bạn sẽ lãng phí rất nhiều bộ nhớ.

Có một số lý do tại sao việc chia dữ liệu thành các bảng riêng biệt có thể cần thiết. Dưới đây là một số lý do có thể xảy ra:

  • Quyền truy cập được quản lý dễ dàng hơn ở cấp bảng so với cấp hàng.
  • Việc sao chép dữ liệu cho từng người dùng có thể có các yêu cầu khác nhau.
  • Một thực thể bên ngoài yêu cầu dữ liệu phải nằm trong các bảng hoặc cơ sở dữ liệu riêng biệt.

Tuy nhiên, nhóm lý do đầu tiên dường như có ý nghĩa nặng nề hơn nhiều đối với cấu trúc bảng / thực thể đơn lẻ. Những lo ngại nâng cao hơn này dường như không phải là một vấn đề.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql_insert_id có an toàn để sử dụng không?

  2. mysql:tham chiếu đến các cột bằng số

  3. Sự khác biệt theo tuần giữa PHP và MySQL

  4. Truy vấn con MySQL trả về nhiều hơn một hàng

  5. Làm cách nào tôi có thể kết xuất cơ sở dữ liệu MySQL mà không sử dụng mysqldump trong Python