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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Array i Application("") - God idé ?
Fra : Rune Baess


Dato : 14-09-02 10:38

Jeg har en tabel på ca. 300 rows og 3-4 kolonner som jeg ofte læser ud i et
flerdimentionelt Array vha ADO's getrows.
Da denne tabel kun sjælent opdateres tænke jeg på at lægge Array'et i en
Applikations variabel ved OnApplicationStart(), (samt når det lejlighedsvist
opdateres) så jeg derfor slap for at lave en masse SQLtræk.
- Men er dette en god eller dårlig idé, hvad ydelse angår ?
- Hvor tungt er det for serveren, hele tiden at skulle aflevere en 'stor'
Applikationsvariabel, og er det hurtigere end at hente den fra SQLserveren
hvergang ?

Rune



 
 
Kim Bach Petersen (14-09-2002)
Kommentar
Fra : Kim Bach Petersen


Dato : 14-09-02 12:33

> Jeg har en tabel på ca. 300 rows og 3-4 kolonner som jeg ofte læser
> ud i et flerdimentionelt Array vha ADO's getrows.
> Da denne tabel kun sjælent opdateres tænke jeg på at lægge Array'et i
> en Applikations variabel ved OnApplicationStart(), (samt når det
> lejlighedsvist opdateres) så jeg derfor slap for at lave en masse
> SQLtræk.

Det vil sandsynligvis give bedre ydelse, applikationsvariable er meget
hrutigere end databaseudtræk, men med hensyn til ydelse kommer det altid an
på så meget - og derfor er en test i praksis det eneste sikre bevis for
forbedret ydelse (og det er vel heller ikke uoverskueligt). Datasettet lyder
ikke overvældende stort mål med moderne maskiners hukommelse, så heller ikke
det burde være noget problem.

Kim



Jesper Nielsen (14-09-2002)
Kommentar
Fra : Jesper Nielsen


Dato : 14-09-02 14:03

> Jeg har en tabel på ca. 300 rows og 3-4 kolonner som jeg ofte læser ud i
et
> flerdimentionelt Array vha ADO's getrows.
> Da denne tabel kun sjælent opdateres tænke jeg på at lægge Array'et i en
> Applikations variabel ved OnApplicationStart(), (samt når det
lejlighedsvist
> opdateres) så jeg derfor slap for at lave en masse SQLtræk.
> - Men er dette en god eller dårlig idé, hvad ydelse angår ?
> - Hvor tungt er det for serveren, hele tiden at skulle aflevere en 'stor'
> Applikationsvariabel, og er det hurtigere end at hente den fra SQLserveren
> hvergang ?

Jeg driver et website, og har på alle siderne en liste over de nyeste
brugere.
I begyndelsen slog jeg op i databasen hver gang, men da jeg kom over X
samtidige online brugere, krævede det simpelthen for meget.

Jeg lavede så et script, som køres hvert 5. sekund og opdaterede forskellige
Application veriable - bl.a. den med de 10 nyeste brugere. Der oprettes et
array, og application variablen opdateres.

På siderne skal der således ikke laves et databasekald for hver sidevisning,
og jeg har oplevet en stor forbedring i ydelsen.

Så mit bud ville være, at du roligt kan oprette den application variabel.

--
Mvh. Jesper



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

Månedens bedste
Årets bedste
Sidste års bedste