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

Mysql:Je praktické vytvořit samostatnou tabulku pro příspěvky každého uživatele

Do obchodů/příspěvků byste měli přidávat ID uživatelů. Existuje mnoho důvodů, proč nechcete mít samostatné tabulky pro každého uživatele:

  • MySQL je navrženo tak, aby zpracovávalo tabulky s velkým množstvím řádků, nikoli mnoho tabulek se stejnou strukturou.
  • Strukturování dotazů, které procházejí tabulkami, bude vyžadovat kombinování mnoha různých tabulek.
  • Malá změna ve struktuře dat, jako je přidání nového sloupce, se stává noční můrou.
  • Zahraniční klíčové odkazy na obchody jsou nemožné.
  • Pokud data pro uživatele nezaplňují jedinou datovou stránku, nakonec přijdete o hodně paměti.

Existuje několik důvodů, proč může být nutné rozdělení dat do samostatných tabulek. Zde jsou některé možné důvody:

  • Přístup je snadněji spravován na úrovni tabulky než na úrovni řádků.
  • Replikace dat pro každého uživatele může mít různé požadavky.
  • Externí entita vyžaduje, aby byla data v samostatných tabulkách nebo databázích.

Zdá se však, že první sada důvodů má mnohem větší váhu pro struktury jedné tabulky/entity. Zdá se, že tyto pokročilejší obavy nepředstavují problém.




  1. Nebyl použit index kvůli konverzi typu?

  2. Jak vložit data do Winform TreeView (C#) v efektivním kódování?

  3. Porozumění chování funkce zbytku() v Oracle

  4. RoR:Nelze změnit_sloupec v postgresu, v pořádku v MySQL (MySQL pro vývoj, Postgres na Heroku)