sql >> Databasteknik >  >> RDS >> Mysql

MYSQL:Användare - tabelluppsättning för profildetaljer - bästa praxis

Saker att tänka på med dina tillvägagångssätt

Lagra användarprofil i användartabell

  • Detta kommer i allmänhet att vara det snabbaste tillvägagångssättet när det gäller att komma till profildata, även om du kan ha mycket överflödig data här (kolumner som kanske inte har någon information i dem).
  • Snabb (särskilt om du bara drar kolumner du behöver från db)
  • Skadad data
  • Svårare att arbeta med/underhålla (förmodligen med gränssnitt som PHPMyAdmin)

Lagra användarprofil i User_Profile Tabell 1-1 relation till användare

  • Bör fortfarande vara ganska snabb med en anslutning och du kan eliminera viss dataredundans om användarprofiler inte skapas om inte en användare fyller i en.
  • Lättare att arbeta med
  • Något långsammare på grund av att gå med (eller andra frågan)

Lagra användarprofil som egenskaper och värden i tabeller

*dvs. Tabell för att lagra möjliga alternativ, tabell för att lagra användar-id, alternativ_id och värde*

  • Ingen redundant data lagras, all data är relevant
  • Mest normaliserade metoden
  • Långsammare att hämta och uppdatera data

Mitt intryck är att de flesta webbplatser använder den andra metoden och lagrar profilinformation i en andra tabell, vilket är vanligt för de flesta större webbplatser att denormalisera databasen (twitter, facebook) för att uppnå bättre läsprestanda på bekostnad av långsammare skrivprestanda.

Jag skulle tro att att hålla profilinformationen i en andra tabell förmodligen är rätt väg att gå när du tittar på 50 000 poster. För optimal prestanda vill du hålla data som är mycket skrivna åtskilda från data som läses tunga för att säkerställa att cachen kan fungera effektivt.



  1. Hur man trunkerar text med en ellips i MariaDB

  2. Mysql Förbättra sökprestanda med jokertecken (%%)

  3. MySQL - Betydelse av PRIMÄRNYCKEL, UNIK NYCKEL och NYCKEL när de används tillsammans när du skapar en tabell

  4. Parallella utförandeplaner – grenar och trådar