/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Hvorfor er Arrayet hurtigere end Recordsæt~
Fra : Jimmy


Dato : 07-07-03 11:37

Hej

Har en ASP side, hvor jeg skal køre en masse SQL, og lidt af hvert. Der er
dog noget der undrer mig:

Løsning 1:

set rs = linkDB.Execute("Select felt1.....")
if not rs.EOF then
while not rs.EOF
......rs("felt1") bliver jævnligt brugt i denne stump kode.
......
rs.MoveNext
wend
end if

Alle prikkerne i min while symboliserer at jeg kører en masse kode hvor jeg
jævnligt bruger attributten rs("felt1").
Det her går langsomt. Det går meget hurtigere hvis jeg i stedet gør sådan
her:

Løsning 2:

set rs = linkDB.Execute("Select felt1.....")
if not rs.EOF then
i = 0
while not rs.EOF
feltArray(i) = rs("felt1")
i = i + 1
rs.MoveNext
wend
max_i = i
end if
if i <> 0 then
i = 0
while i <= maxi
........feltArray(i) bliver jævnligt brugt i denne stump kode.
........
i = i + 1
wend
end if

Hvorfor går min kode 10 gange hurtigere (og det er en underdrivelse) når jeg
bruger løsning 2?
Jeg skal stadig igennem hele recordsættet, så for mig at se bruger jeg flere
instruktioner i Løsning 2. I mit hoved burde det betyde at løsning 2 var den
langsommeste. Det er den langt fra! Den eneste forskel jeg umiddelbart kan
se er at jeg i stedet for at referere til rs("felt1") en masse gange nu kan
referere til feltArray(i), så et eller andet siger mig at det koster en
masse at referere til rs("felt1") (altså til recordsættet).

Men hvorfor?

Håber at der er nogen der ligger inde med svaret?

--


Jimmy



 
 
Jimmy (07-07-2003)
Kommentar
Fra : Jimmy


Dato : 07-07-03 12:16


"Jimmy" <pleasereplyingroup@hotmail.com> wrote in message
news:3f094c2f$0$76096$edfadb0f@dread11.news.tele.dk...
> Hej
>
> Har en ASP side, hvor jeg skal køre en masse SQL, og lidt af hvert.

Jeg kan ikke se, at din ASP-kode skulle være relevant for denne gruppe.

Spørg i dk.edb.internet.webdesign.serverside.asp som bedre vil kunne
fortælle dig, hvorfor din ASP-kode ikke gør som du forventer.

Det vil der være en fordel at angive præcis tider fremfor subjektive
opfattelser.

"Jimmy" <pleasereplyingroup@hotmail.com> <> "Jimmy"
<nyhedsgruppe@get2net.dk>

Mvh
Jimmy



Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste