Jeg har ca. 400 lande med tilhørende beløb, som skal være tilgængelige på alle sider. Disse lande/beløb vil kun blive ændret sjældent. Derfor ville det være oplagt at gemme enten et 2-dimensionelt array eller en lang string (<option value=1>Danmark</option>...) i en application-variabel, så databaseopslaget kun skal ske én gang. Mit spørgsmål er: Er det uhensigtsmæssigt at have så meget data liggende i en application- eller session-variabel (her tænker jeg specielt på hukommelsesforbruget)?
Når det ikke drejer sig om mere end 400 poster, hvorfor så ikke bare gemme det i en database. Hvis du undgår joins vil dit opslag vel ta omkring et sekund.
Set oRs = oConn.Execute("SELECT * FROM country ORDER BY country") <% Do While Not oRs.EOF %> <option value="<%=oRS("country")%>"><%=oRs("country")%></option> <% oRs.Movenext loop oRs.Close Set oRs = Nothing %>
Det er for at undgå at foretage database-opslaget 2 gange pr. side (idet der skal dannes to identiske dropdown's med de 400 lande). Lad os sige at en bruger skifter side 8 gange mens han er på websitet. Da skal der foretages 16 databaseopslag, for at danne den samme dropdown. Det virker lidt overkill. Så skulle man da tro at det var mere hensigtsmæssigt at danne dropdown'en en gang for alle... Men I mener altså at det er bedre - både hukommelses- og hastighedsmæssigt - at foretage databaseopslaget, hver eneste gang en side loades? Der skal ikke foretages JOINS!
mccannon: Du svarer heller ikke rigtigt på det jeg spørger om. Jeg ved godt, hvordan jeg opretter et 2-dimensionalt array, og at jeg dermed kun skal rode i db'en en gang, men er det klogt at have så "store mængder" data i en application variabel? Her tænker jeg på webserverens hukommelsesforbrug, og sitets hastighed... Hvad er bedst, når det er disse to parametre, jeg vil vurdere det udfra?
Synes godt om
Ny brugerNybegynder
Din løsning...
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.