On Mon, 5 Jan 2004 20:44:06 +0100, "pepss" <olefriis@privat.dk> wrote:
>grunden til at jeg ville gøre det på den måde er fordi som jeg gør nu har
>jeg 2 databaseopkald og jeg er bange for at siden vil blive for langsom.....
>er der noget om det eller er det bare mig der ikke ved noget om det?
Der er ikke en generel regel, der siger, at man ikke må have mere end
2, 3 eller 5 databasekald.
Medmindre man er på et meget belastet site, skal man ikke normalt lade
sig begrænse af, at "det kan serveren nok ikke klare".
Det man derimod skal gøre er at optimere koden, så der ikke *kaldes
unødigt*.
Sørg for at åbne forbindelser og recordset så sent i scriptet som
muligt - og dernæst at lukke dem igen så hurtigt som muligt. Det gøres
ved at dele soin kode op, så alle "forberedelserne" (input-behandling,
valisering etc.) er lavet inden, der åbnes for en forespørgsel til
databasen.
Sørg for at undgå situationer med lange loops, hvor scriptet kan "gå
amok".
Jeg har dog et par gange lavet noget hvor der bliver lavet db-kald
inde i et loop. Det kan selvfølgelig ikke anbefales - tværtimod vil
jeg normalt fraråde det på det kraftigste -, men i disse situationer
vidste jeg noget om, at der max. kunne være ret få samtidige brugere
(det foregik på et intranet) - og så var det en rimelig måde at gøre
det på.
I det hele taget er en verden til forskel på at lave kode til
"hobbybrug" og små foreninger og mindre virksomheder og på den anden
side højt belastede sites med 1000-vis af daglige brugere.
Så tænk i optimeret kode, ja, men klap hesten og lad være med at lægge
unødige begrænsinger på dig selv
PS: Og så er det ikke kun databasekald, der bruger ressourcer - det
gør Session-variable og Application-variabæle også
--
Jørn Andersen,
Brønshøj