sql >> Databáze >  >> RDS >> Mysql

MYSQL:Uživatel - nastavení tabulky podrobností profilu - osvědčený postup

Věci, které je třeba u svých přístupů zvážit

Ukládání uživatelského profilu do tabulky uživatelů

  • Toto bude obecně nejrychlejší přístup, pokud jde o získání údajů o profilu, i když zde můžete mít mnoho nadbytečných údajů (sloupce, které nemusí obsahovat žádné informace).
  • Rychlé (zejména pokud z databáze stahujete pouze potřebné sloupce)
  • Plytvá data
  • Obtížnější práce s/údržba (pravděpodobně s rozhraními, jako je PHPMyAdmin)

Uložení profilu uživatele ve vztahu k uživatelům v tabulce User_Profile Table 1-1

  • Mělo by být stále poměrně rychlé s připojením a můžete odstranit určitou nadbytečnost dat, pokud se uživatelské profily nevytvoří, dokud uživatel žádný nevyplní.
  • Snazší práce
  • Ještě trochu pomaleji kvůli připojení (nebo druhému dotazu)

Ukládání profilu uživatele jako vlastností a hodnot v tabulkách

*tj. Tabulka pro uložení možných voleb, tabulka pro uložení user_id, option_id a value*

  • Žádná nadbytečná data nejsou uložena, všechna data jsou relevantní
  • Nejnormalizovanější metoda
  • Načítání a aktualizace dat je pomalejší

Můj dojem je, že většina webů používá 2. metodu a ukládá informace o profilu do druhé tabulky, což je běžné u většiny větších webů k denormalizaci databáze (twitter, facebook), aby bylo dosaženo vyššího výkonu při čtení na úkor pomalejšího zápisu.

Domnívám se, že při prohlížení 50 000 záznamů je pravděpodobné, že ponecháte informace o profilu ve druhé tabulce. Chcete-li dosáhnout optimálního výkonu, chcete data, která jsou zapsána, přísně oddělovat od dat, která jsou čtena s velkým objemem, aby mezipaměť mohla fungovat efektivně.



  1. Instalace SQLite

  2. Prohlášení Oracle

  3. Jak exportovat prázdné tabulky v oracle

  4. 3 metody opětovného sestavení všech indexů pro všechny tabulky pomocí T-SQL v databázi SQL Server