sql >> Databasteknik >  >> RDS >> Mysql

php mysql - ska jag lägga till fältet kategorinamn i en tabell eller inte?

Om du mäter millisekunder och ditt systems disk-IO inte är extremt långsam, skulle alternativ 2 ge bättre prestanda. Men , vi talar om en försumbar vinst i genomförandetid. Eftersom du redan kommer att fråga DB för att få nyheten skulle det vara mycket optimerat att bara få kategorinamnet samtidigt. Jag skulle lägga till en mappningstabell för kategori-namn-id till kategorinamn . Och gå med på det när du får nyheter.

Ur en flexibilitetssynpunkt och synpunkten att eliminera så många möjliga felkällor skulle jag också gå med på min idé ovan. Eftersom det ger flexibilitet till ditt system och håller alla dina data på ett ställe. Att ändra namnet på en kategori skulle kräva redigering av en kolumn i databasen istället för att redigera en php-konfigurationsfil eller, om alternativ 1 användes, uppdatering av varje nyhetspost.

Så mitt bästa råd, lägg till en tabell med kategori-namn-id till kategorinamn mappningar och sedan låta nyheterna innehålla id:t för den kategori de tillhör.

För prestanda kan du sedan cachelagra den data du hämtar om befintliga kategorier och annan data så att du inte behöver fråga databasen efter den informationen hela tiden.

Till exempel. Du kan, istället för att gå med alls, få alla kategorier från kategoritabellen jag beskrev ovan. Cachelagra den i applikationen och hämta den först när cachen är ogiltig. d.v.s. en timeout inträffar eller att data i db manipuleras.



  1. Vad är SQL? Vad är en databas? Relationella databashanteringssystem (RDBMS) förklaras på vanlig engelska.

  2. Hur man korrekt infogar newline i nvarchar

  3. Ogiltig parametertyp (numpy.int64) vid infogning av rader med executemany()

  4. Hur ökar jag hastigheten på denna dataanalys?