Voor een afstudeeropdracht moet ik met een medestudent een webapplicatie ontwikkelen. Waarschijnlijk gaan we daarbij PHP5 gebruiken (bedrijf is ermee bekend etc.). We willen eigenlijk het liefst zoveel mogelijk object-georienteerd werken (maakt de boel een stuk simpeler), maar nu loop ik tegen een dilemma aan.
Zodra je een abstractielaag voor de database gaat maken, kun je je queries niet meer aanpassen op de situatie. Stel bijvoorbeeld dat je een tabel Klanten en een tabel Contracten hebt. je gaat naar de HTML pagina voor het weergeven van klantinformatie (inclusief contracten van die klant). Dan zou je normaal gesproken bvb een join uitvoeren waardoor je ineens alle gegevens krijgt die je nodig hebt. Maar als je op die manier de class Klant instantieert, heb je weer overhead zodra je bvb alleen de NAW-gegevens van de klant nodig hebt. Dus verlies je weer performance. Het alternatief is natuurlijk om een aparte query voor contracten te gebruiken, maar dan verlies je performance in het eerste geval (2 queries ipv 1).
Op mijn vorige stageplek waren mijn collega's nogal gebrand op performance, dus pastte ik geen OR mapping toe. Nu wil ik dat wel doen, maar verlies ik er niet teveel performance mee op deze manier?
Zodra je een abstractielaag voor de database gaat maken, kun je je queries niet meer aanpassen op de situatie. Stel bijvoorbeeld dat je een tabel Klanten en een tabel Contracten hebt. je gaat naar de HTML pagina voor het weergeven van klantinformatie (inclusief contracten van die klant). Dan zou je normaal gesproken bvb een join uitvoeren waardoor je ineens alle gegevens krijgt die je nodig hebt. Maar als je op die manier de class Klant instantieert, heb je weer overhead zodra je bvb alleen de NAW-gegevens van de klant nodig hebt. Dus verlies je weer performance. Het alternatief is natuurlijk om een aparte query voor contracten te gebruiken, maar dan verlies je performance in het eerste geval (2 queries ipv 1).
Op mijn vorige stageplek waren mijn collega's nogal gebrand op performance, dus pastte ik geen OR mapping toe. Nu wil ik dat wel doen, maar verlies ik er niet teveel performance mee op deze manier?