Należy dodać identyfikatory użytkowników do sklepów/postów. Istnieje wiele powodów, dla których nie chcesz mieć oddzielnych tabel dla każdego użytkownika:
- MySQL jest zaprojektowany do obsługi tabel z wieloma wierszami, a nie wielu tabel o tej samej strukturze.
- Strukturyzacja zapytań, które przechodzą przez tabele, będzie wymagała połączenia wielu różnych tabel.
- Mała zmiana w strukturze danych, taka jak dodanie nowej kolumny, staje się koszmarem.
- Niemożliwe stają się zagraniczne kluczowe odniesienia do sklepów.
- Jeśli dane użytkownika nie wypełniają ani jednej strony danych, w końcu marnujesz dużo pamięci.
Istnieje kilka powodów, dla których może być konieczne podzielenie danych na osobne tabele. Oto kilka możliwych powodów:
- Dostęp jest łatwiejszy w zarządzaniu na poziomie tabeli niż na poziomie wiersza.
- Replikacja danych dla każdego użytkownika może mieć różne wymagania.
- Zewnętrzna jednostka wymaga, aby dane znajdowały się w osobnych tabelach lub bazach danych.
Jednak pierwszy zestaw powodów wydaje się mieć znacznie większe znaczenie dla struktur z pojedynczą tabelą/jednostką. Te bardziej zaawansowane obawy nie wydają się stanowić problemu.