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

php mysql - skal jeg tilføje feltet kategorinavn til en tabel eller ej?

Hvis du måler millisekunder, og dit systems disk-IO ikke er ekstremt langsom, ville mulighed 2 give bedre ydeevne. Men , taler vi om en ubetydelig gevinst i eksekveringstid. Da du allerede vil forespørge i DB'en for at få nyheden, ville det være meget optimeret bare at få kategorinavnet på samme tid. Jeg ville tilføje en kortlægningstabel med kategorinavn-id til kategorinavne . Og vær med på det, når du får nyheder.

Fra et fleksibilitetssynspunkt og det synspunkt at eliminere så mange mulige fejlkilder, vil jeg også gå med min ovenstående idé. Da det tilføjer fleksibilitet til dit system og holder alle dine data på ét sted. Ændring af navnet på en kategori ville kræve redigering af én kolonne i databasen i stedet for at redigere en php-konfigurationsfil eller, hvis mulighed 1 blev brugt, opdatering af hver eneste nyhedspost.

Så mit bedste råd, tilføje en tabel med kategori-navn-id til kategorinavne kortlægninger og derefter få nyhederne til at indeholde id'et for den kategori, de tilhører.

For ydeevne kan du derefter cache de data, du henter om eksisterende kategorier og andre data, så du ikke behøver at spørge databasen for disse oplysninger hele tiden.

For eksempel. Du kunne, i stedet for overhovedet at deltage, få alle kategorierne fra kategoritabellen, jeg beskrev ovenfor. Cache det i applikationen og få det først, når cachen er ugyldig. dvs. der opstår en timeout, eller dataene i db'en manipuleres.



  1. Hvorfor er MySQL's maksimale tidsgrænse 838:59:59?

  2. Sidste indeks for en given understreng i MySQL

  3. Hvad er MySQL's standard ON SLET-adfærd?

  4. søg fra flere tabeller ved hjælp af et enkelt søgeord i mysql