sql >> Database >  >> RDS >> Mysql

php mysql - moet ik het veld categorienaam aan een tabel toevoegen of niet?

Als u milliseconden meet en de schijf-IO van uw systeem niet extreem traag is, zou optie 2 betere prestaties opleveren. Maar , we hebben het over een verwaarloosbare winst in uitvoeringstijd. Aangezien u de DB al zult opvragen om het nieuwsitem te krijgen, zou het zeer geoptimaliseerd zijn om tegelijkertijd de categorienaam te krijgen. Ik zou een toewijzingstabel van category-name-id . toevoegen naar categorienamen . En daar doe je mee als je nieuwsberichten ontvangt.

Vanuit het oogpunt van flexibiliteit en het elimineren van zoveel mogelijke bronnen van fouten zou ik ook meegaan met mijn bovenstaande idee. Omdat het flexibiliteit toevoegt aan uw systeem en al uw gegevens op één plek bewaart. Als u de naam van een categorie wilt wijzigen, moet u één kolom in de database bewerken in plaats van een php-configuratiebestand te bewerken of, als optie 1 werd gebruikt, elk nieuwsbericht bijwerken.

Dus mijn beste advies, voeg een tabel toe met category-name-id naar categorienamen mappings en laat de nieuwsitems de id bevatten van de categorie waartoe ze behoren.

Voor prestaties kunt u vervolgens de gegevens die u ophaalt over bestaande categorieën en andere gegevens in de cache opslaan, zodat u niet de hele tijd de database hoeft te pollen voor die informatie.

Bijvoorbeeld. Je zou, in plaats van helemaal mee te doen, alle categorieën uit de categorietabel kunnen halen die ik hierboven heb beschreven. Cache het in de applicatie en krijg het pas als de cache ongeldig is gemaakt. d.w.z. er treedt een time-out op of de gegevens in de db worden gemanipuleerd.



  1. Genereer een tabelrij met <td>-waarden uit DB PHP

  2. Word lid van het Q&A-forum voor ontwikkelaars

  3. UPDATE-instructies hebben de eindstatus van de query

  4. Regex str_replace