Mon ikke array listen er den hurtigeste, med mindre du ændre dit * i din select sætning til i stedet at være det eller de felter du søger på. Ved at vælge * skal den jo søge alle felter igennem.
Jeg tænker noget i stil med at jeg har en metode i mit buisness lag der trækker alle records fra databasen ud i en arrayliste og smidder dem i cache. Ydermere har jeg en anden metode der søger i denne arrayliste efter en record med et bestemt id.
På den måde kan jeg undgå x antal kald til databasen, men om det belaster mere ved søgning igennem en arrayliste er jeg lidt i tvivl om.
Nu var den select komando bare et eksempel hvis jeg f.eks kun skal bruge Id, navn og email laver jeg "Select Id, navn, email from tabel" hvilket giver mindre fyld i arraylisten og samtidig mindre i cachen.
Men mener du at det er hurtigere at trække * frem for de rækker jeg vil bruge Id, nevn ect. ?
Databasen ligger på serveren hvor siden køre. Og ret mig hvis jeg er galt på den, men cachen benytter sig af ram ikke sandt, eller er der andre ting der tærres på også ?
Typisk ligger jeg array's i cache 10 min til 1 time ad gangen afhænnigt af hvad det er der bruges på siden. Top 5 nyheder der vises på nærmest alle sider er længere i cache end f.eks. visning af en enkelt nyhed.
Men jeg må vel nærmest holde øje med brugen af ram på serveren for ordenligt at kunne danne mig et indtryk af det. Og måske endnu bedre benytte mig af garbage collection, så hvis en af jer ligger inde med noget om det er i velkommen til at smide et link eller 2 ;o)
normalt vil memory access altid være hurtigere end disk access
hvis du tit skal slå op på id kan du bruge en Hashtable/Dictionary (husk at de samme objekter godt kan være både i en Hashtable/Dictionary og en ArrayList/List)
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.