06. marts 2012 - 15:02Der er
3 kommentarer og 1 løsning
God programmeringspraksis?
Hej Eksperter
Jeg er ved at skrive et program, der kommunikerer med en SQL database.
Jeg har et objekt A, der indeholder en liste af objekt B
Når jeg henter A fra databasen, skal jeg så samtidig hente alle B-objekterne og oprette dem - eller er det bedre, at vente med at hente B-objekterne og oprette dem, før de de skal bruges.
Det gør en forskel i forhold til min programmering. I dette simple eksempel kan jeg jo sagtens oprette dem med det samme, men jeg forestiller mig, at det kan blive temmelig komplekst, hvis der f.eks. er et
Objekt A, der indeholder en liste af Objekt B, der indeholder en liste af Objekt C, der indeholder en liste af Objekt D etc ....
Hvorvidt det er smart at loade med det samme eller loade senere (lazy load er termen) afhaenger af sandsynligheden for at du skal bruge "under data".
Skal du altid bruge "under data" saa kan du lige saa godt loade dem med det samme. Saa kan SQL evt. optimeres via en JOIN fremfor multiple queries.
Men er der kun en lille sandsynlighed for at du skal bruge de "under data", saa boer du vente til du har brug for dem, fordi sandsynligvis behoever du aldrig hente dem.
I første omgang er det et lille projekt jeg arbejder på og derfor er det nemt at loade det hele med det samme. Bliver projektet større, vil jeg overveje at loade objekterne, når de skal bruges.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.