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

Návrh databáze:Registrace a ověření

Vidím to z jiného úhlu pohledu.

Ve vaší situaci pravděpodobně stačí jeden stůl. Existují však další úvahy.

1) Objem. V malé tabulce nebude filtrování podle příznaku významně ovlivňovat výkon. Ve velké tabulce (miliony řádků) byste museli vložit příznak do indexu. Umístění příznaku nízké mohutnosti do indexu velké tabulky může snížit výkon.

2) Vady. Příznak v tabulce vyžaduje, aby téměř každý dotaz používal příznak. U dostatečně velkého nebo dostatečně složitého systému bude někdo tento příznak postrádat. Určení rizika závisí na ceně náhodného výběru neaktivovaného uživatele.

Jedním ze způsobů, jak zmírnit rizika, je použití pohledů. Pokud implementujete řešení se dvěma tabulkami, použijte zobrazení (All_Users) pomocí UNION ALL. Pokud implementujete řešení s jednou tabulkou, vytvořte pohled pouze pro aktivované uživatele a místo toho použijte tuto tabulku. Pouze funkce údržby musí upravit základní tabulky.



  1. mysql CONCAT () JAKO jméno?

  2. postup v mysql

  3. ALTER TABLE bez uzamčení stolu?

  4. Podivné SQL plýtvá mými zdroji