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

mysql - Oprettelse af rækker vs. kolonneydelse

Jeg tror, ​​at fordelen ved at lagre som flere rækker (dvs. normaliserede) afhænger af design- og vedligeholdelsesovervejelser i lyset af ændringer.

Også, hvis de 140 kolonner har samme betydning, eller hvis de adskiller sig fra hvert eksperiment - korrekt modellering af dataene i henhold til normaliseringsregler - dvs. hvordan er data relateret til en kandidatnøgle.

Hvad angår ydeevne, gør det meget lidt forskel, hvis alle kolonnerne bruges. Nogle gange kan en pivot/unpivot-operation være dyr i forhold til en stor mængde data, men det gør ingen forskel på et enkelt nøgleadgangsmønster. Nogle gange kan et pivot i databasen gøre din frontend-kode meget enklere og backend-koden mere fleksibel i lyset af ændringer.

Hvis du har mange NULL'er, kan det være muligt at eliminere rækker i et normaliseret design, og det vil spare plads. Jeg ved ikke, om MySQL har understøttelse af et sparsomt bordkoncept, som kunne komme i spil der.



  1. Sådan sender du e-mail fra MySQL 5.1

  2. $result =mysql_query()

  3. Sammenføj to tabeller (med en 1-M relation), hvor den anden tabel skal "flades ud" til en række

  4. Kan ikke oprette forbindelse til SQL Server med PHP