sql >> Databasteknik >  >> RDS >> Mysql

Databasdesign:Flera tabeller kontra en enda tabell

Det verkar som att du redan vet svaret, men kom ihåg, håll systemen du designar enkla att modifiera eftersom affärsmodeller alltid förändras över tiden eller så misslyckas de så småningom (det är en generalisering men du förstår idén). En följd av det är om du gör en stel modell, snabb eller långsam, den är stel, förändringar kommer att bli svårare och slutanvändaren kommer inte att se skillnaden, därför uppnås ingen förändring av pengar/lycka, såvida det inte är en mycket dålig förändring. Ditt problem är inte tekniskt på ett sätt som en fråga fungerar på motorn utan mer av en filosofisk sådan, enkla förändringar kontra skenbar hastighet. Fråga dig själv, vad är fördelen med att ha en normaliserad databas? Tänk på en ren arkitektur och design, prestanda är det minsta problemet i dagens värld eftersom bearbetning är billigare och lagring också. Men design är dyrt. Normalisering gjordes för att göra system som inte beror på beslut i sista stund utan på en strukturerad designprocess. Stora tabeller är inte en stor sak för MySql men de är en stor sak att underhålla, modifiera och utöka. Det är inte bara att lägga till en kolumn till, det handlar om den stela strukturen av själva datan. Så småningom kommer du bara att lägga till kolumner som innehåller index, och dessa index kommer att peka på små tabeller. MySql kommer att plöja sig runt all den data ändå. Så jag väljer den första, många små tabeller, många-till-många.



  1. Mysql join-fråga för flera taggar (många-till-många-relationer) som matchar ALLA taggar?

  2. Hur man aktiverar Change Data Capture (CDC) på en databas i SQL Server - SQL Server Tutorial

  3. PostgreSQL-servern stängdes inte av på Lion (Mac OS 10.7)

  4. Hur visar man kategori och underkategori?