[PHP/MySQL]Pages beter als file of vanuit DB aanbieden?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MisterEagle
  • Registratie: Juli 2010
  • Laatst online: 08:57
Hallo,

Allereerst zeg ik alvast dat dit hersenspinsel enkel hobbymatig is en alleen voor eigen gebruik. Ik ben alles behalve een professionele programmeur :-) en mogelijk, waarschijnlijk, is er een betere oplossing voor dit vraagstuk.

Ik kwam bij het uitzoeken van mijn oude gegevens een zelfgemaakt cms tegen. Hierin bouw ik pagina's op vanuit een SQL database. Dit omdat iedere pagina uit dezelfde componenten bestaat, enkel de volgorde kan verschillen.

In de database gaf ik aan op welke volgorde per pagina dit moest worden weergegeven en wat de daadwerkelijke inhoud was. Voordeel was hiervan dus voornamelijk het snel kunnen verschuiven van componenten en dat werkt(e) prima.

Nu zat ik hier eens over te denken, voor iedere pagina krijg je dus wel meerdere query's, stel nou dat je website veel bezoekers heeft dan is dit een belasting op de SQL server, is het daarom niet beter om alleen in de beheeromgeving dit uit de database op te halen en als je de pagina klaar hebt, dit compleet weg te schrijven naar een bestand? In dit geval bewaar je de gegevens wel dubbel(zowel in de DB als in de files), maar bezoekers halen in dat geval niets meer op uit de database (voor wat betreft pagina's laden).

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 08:46

orf

Ja, dat is minder belastend voor je database. Maar, het is ook een extra laagje met complexiteit in je applicatie. Door te gaan cachen in statische files moet je op de juiste plekken ervoor zorgen dat de cache wordt verwijderd, de cache op verschillende plekken wordt bijgewerkt, etc.

Het kan dus een prima optimalisatie zijn, maar wat mij betreft pas als het echt nodig is.

Acties:
  • 0 Henk 'm!

  • HamuNaptra
  • Registratie: April 2002
  • Niet online
Wat je omschrijft is beter bekend als Static Site Generator. Dit wordt best veel gebruikt indien de pagina's die gegeneerd moeten worden geen dynamische content bevatten, bvb de press-releases op een bedrijfswebsite. Het gebruik komt natuurlijk de performance van je db backend ten goede. In jouw specifiek geval zie ik er het nut niet van in om dit te beginnen gebruiken, maar niets houdt je tegen natuurlijk ;)

Acties:
  • 0 Henk 'm!

  • MisterEagle
  • Registratie: Juli 2010
  • Laatst online: 08:57
Dank voor jullie antwoorden! Ik ga verder zoeken op Static Site Generator.

Het zal voor mij inderdaad niet veel uitmaken, maar probeer iets interessants te vinden waardoor ik me weer even kan verdiepen in programmeren.

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
In theorie heb je gelijk en in de praktijk is dit ook wat grofweg een reverse proxy etc doen.

Oftewel ik zou me er in je applicatie niet druk om maken (anders krijg je alleen maar extra logica) maar gewoon een bestaande reverse proxy of een bestaande caching oplossing ervoor zetten die de problematiek rond caching gewoon "opgelost" heeft.

Het is namelijk als je het maar ver genoeg wilt doorvoeren een complex probleem en er bestaan gewoon bewezen oplossingen voor.