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 đề.