Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL:Użytkownik — konfiguracja tabeli szczegółów profilu — najlepsze praktyki

Rzeczy do rozważenia przy swoich podejściach

Przechowywanie profilu użytkownika w tabeli użytkowników

  • Na ogół będzie to najszybsze podejście do uzyskania danych z profilu, chociaż możesz mieć tutaj wiele zbędnych danych (kolumny, które mogą nie zawierać żadnych informacji).
  • Szybko (zwłaszcza jeśli wyciągasz tylko potrzebne kolumny z bazy danych)
  • Zmarnowane dane
  • Trudniejsza praca z/utrzymanie (prawdopodobnie z interfejsami takimi jak PHPMyAdmin)

Przechowywanie profilu użytkownika w relacji User_Profile Tabela 1-1 z użytkownikami

  • Powinno być dość szybkie z dołączeniem i możesz wyeliminować pewną nadmiarowość danych, jeśli profile użytkowników nie zostaną utworzone, chyba że użytkownik je wypełni.
  • Łatwiejsza obsługa
  • Już trochę wolniej z powodu dołączenia (lub drugiego zapytania)

Przechowywanie profilu użytkownika jako właściwości i wartości w tabelach

*tj. Tabela do przechowywania możliwych opcji, tabela do przechowywania identyfikatora użytkownika, identyfikatora opcji i wartości*

  • Nie przechowuje się zbędnych danych, wszystkie dane są istotne
  • Najbardziej znormalizowana metoda
  • Wolniej pobierać i aktualizować dane

Mam wrażenie, że większość witryn korzysta z drugiej metody i przechowuje informacje o profilu w drugiej tabeli, co jest typowe dla większości większych witryn w celu denormalizacji bazy danych (twitter, facebook), aby uzyskać większą wydajność odczytu kosztem wolniejszej wydajności zapisu.

Myślę, że przechowywanie informacji o profilu w drugiej tabeli jest prawdopodobnie dobrym rozwiązaniem, gdy patrzysz na 50 000 rekordów. Aby uzyskać optymalną wydajność, chcesz, aby dane, które są zapisywane, były mocno oddzielone od danych, które są intensywnie odczytywane, aby zapewnić efektywne działanie pamięci podręcznej.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najprostsze przejście z MySQL do MySQLi

  2. Mysql:usuń wiersze w dwóch tabelach z kluczami obcymi

  3. Wstawianie wielowymiarowej tablicy php do bazy danych mysql

  4. Ten wynik jest zbiorem wyników tylko do przodu, wywołanie funkcji rewind() po przejściu do przodu nie jest obsługiwane - Zend

  5. w tym brakujące wiersze (liczba zerowa) podczas korzystania z funkcji GROUP BY