sql >> Database teknologi >  >> RDS >> Mysql

Databasedesign:Flere tabeller vs en enkelt tabel

Det ser ud til, at du allerede kender svaret, men husk, hold de systemer, du designer, enkle at ændre, da forretningsmodeller altid ændrer sig over tid, eller de til sidst fejler (det er en generalisering, men du forstår ideen). En konsekvens af det er, at hvis du laver en stiv model, hurtig eller langsom, den er stiv, ændringer vil være sværere, og slutbrugeren vil ikke se forskellen, derfor opnås ingen penge/lykke-ændring, medmindre det er en meget dårlig ændring. Dit problem er ikke teknisk på en måde, en forespørgsel fungerer på motoren, men mere en filosofisk, lette ændringer i forhold til tilsyneladende hastighed. Spørg dig selv, hvad er fordelen ved at have en normaliseret database? Tænk på en ren arkitektur og design, ydeevne er det mindste problem i dagens verden, da forarbejdning er billigere og opbevaring også. Men design er dyrt. Normalisering blev lavet for at lave systemer, der ikke afhænger af beslutninger i sidste øjeblik, men af ​​en struktureret designproces. Store tabeller er ikke en stor sag for MySql, men de er en stor ting at vedligeholde, ændre og udvide. Det er ikke bare at tilføje en kolonne mere, det handler om den stive struktur af selve dataene. Med tiden vil du blot tilføje kolonner, der indeholder indekser, og disse indekser vil pege på små tabeller. MySql vil pløje den vej rundt om alle de data alligevel. Så jeg vil gå efter den første, en masse små tabeller, mange-til-mange.



  1. MySQL REGEXP eksempler

  2. Valg af rækker ordnet efter en kolonne og adskilt i en anden

  3. Konverter 'datetime' til 'date' i SQL Server (T-SQL-eksempler)

  4. Hvordan indsætter man kolonner på en specifik position i eksisterende tabel?