sql >> Database >  >> RDS >> Mysql

Entiteitskenmerkwaardemodel - Prestatiealternatief?

Eerste , soms maakt dit model het opvragen van gegevens veel eenvoudiger. Ik heb een paar dagen geleden hier een vraag gesteld en sommige gebruikers suggereerden waarom ik mijn model niet heb gewijzigd in een 1NF-formulier om het opvragen van gegevens gemakkelijker te maken. Pas toen ze zich realiseerden dat ik met dit ontwerp vastzat, gaven ze een aantal antwoorden op de vraag. Het punt is dat ik het geluk had om slechts 12 kolommen samen te vatten; anders, als mijn tabel 300 kolommen bevatte, nam misschien geen enkele gebruiker de moeite om een ​​query voor dat probleem te schrijven. :-)

Tweede , soms is de implementatie van dit ontwerp eenvoudiger vanwege een aantal beperkingen die natuurlijk worden opgelegd door databases. Als uw meta_key waarden bevatten enkele lange waarden die groter zijn dan 30 tekens. Ofwel moet u de waarden inkorten en ergens anders in kaart brengen, anders is dit mogelijk de enige optie die u zou kunnen hebben.

Eindelijk , prestatie is erg belangrijk; dat is waar. Maar aan de andere kant zijn er bepaalde technieken die je zou kunnen toepassen om de prestaties te verbeteren; zoals door goede indexen te maken, tabellen te partitioneren, enzovoort.

In dit geval zijn de tafelmaten erg klein. Dus, tenzij uw zoekopdrachten erg ingewikkeld zijn, zoals zware berekeningen en gecompliceerde samenvoegingen en aggregaties, en als de toepassing niet gevoelig is voor kleine tijdsbreuken, denk ik dat u geen last zou hebben van de prestaties als u dit model zou gebruiken.

Aan het einde , als je je nog steeds te veel zorgen maakt over de prestaties, raad ik aan om beide modellen te maken, ze te vullen met willekeurige of echte gegevens en de plankosten te analyseren om te zien welk model het beste bij je behoeften past.



  1. Fatale fout:kan session_start() niet opnieuw declareren in functions.php regel 25

  2. mysql - kan ik opvragen hoeveel connect_errors een bepaalde host heeft gegeven?

  3. Zijn enkele mysql-statements atomair in MyISAM en InnoDB?

  4. C# windows-toepassingstoegang tot databasegegevens blijven niet behouden bij afsluiten