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

Návrh databáze:Více tabulek vs jedna tabulka

Zdá se, že odpověď již znáte, ale pamatujte, že systémy, které navrhujete, udržujte tak, že je lze jednoduše upravovat, protože obchodní modely se v průběhu času vždy mění nebo nakonec selžou (je to zobecnění, ale máte představu). Důsledkem toho je, že pokud vytvoříte rigidní model, rychlý nebo pomalý, je rigidní, změny budou těžší a koncový uživatel neuvidí rozdíl, takže nedojde k žádné změně peněz/štěstí, pokud se nejedná o velmi špatnou změnu. Váš problém není technický ve způsobu, jakým dotaz funguje na motoru, ale spíše filozofický, snadné změny versus zdánlivá rychlost. Zeptejte se sami sebe, jaká je výhoda mít normalizovanou databázi? Myslete na čistou architekturu a design, výkon je v dnešním světě nejmenší problém, protože zpracování je levnější a úložiště také. Ale design je drahý. Normalizace byla provedena za účelem vytvoření systémů, které nezávisí na rozhodnutích na poslední chvíli, ale na strukturovaném procesu návrhu. Velké tabulky nejsou pro MySql velkým problémem, ale jejich údržba, úprava a rozšiřování je velký problém. Nejde jen o přidání jednoho sloupce navíc, jde o tuhou strukturu dat samotných. Časem přidáte pouze sloupce, které obsahují indexy, a tyto indexy budou ukazovat na malé tabulky. MySql stejně všechna ta data obere. Takže půjdu pro první, spoustu malých stolů, mnoho k mnoha.



  1. Vyslovuje se „S-Q-L“ nebo „Pokračování“?

  2. Jak vybrat záznamy z posledních 24 hodin v PostgreSQL

  3. SQLite AUTOINCREMENT

  4. mysql> vytvořit test databáze; ERROR 1006 (HY000):Nelze vytvořit databázi „test“ (chyba:2)