/ 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
Udregninger i SQL eller klient?
Fra : Tinky Winky


Dato : 18-06-02 12:06

Hvis man har en database, som flere forskellige klienter bruger og man skal
udregne noget simpel statistik på den, som skal vises hos en klient, hvad
vil så belaste databasen og de andre klienter mindst?

* At lave gange og dividere etc. i SQL og returnere helt eller delvist
"færdigudregnet" statistik til klienten?

eller

* At overføre al den relevante til klienten, som så vil udregne statistikken
på klient niveau?



 
 
Klaus Ambrass (18-06-2002)
Kommentar
Fra : Klaus Ambrass


Dato : 18-06-02 13:31

"Tinky Winky" <twREMOVE@tinkywinkysfantasyplace.dk> wrote in
news:aen46d$68l$1@sunsite.dk:

> Hvis man har en database, som flere forskellige klienter bruger og man
> skal udregne noget simpel statistik på den, som skal vises hos en
> klient, hvad vil så belaste databasen og de andre klienter mindst?
>
> * At lave gange og dividere etc. i SQL og returnere helt eller delvist
> "færdigudregnet" statistik til klienten?
>
> eller
>
> * At overføre al den relevante til klienten, som så vil udregne
> statistikken på klient niveau?
>
>
>

At lade klienten foretage udregningen er jo altid bedre for serveren, men
datamængden som skal overføres for at klienten kan foretage udregningen er
stor, så mister man fordelen.

På den anden side kan visse udregninger, som foretages ofte, måske ligge
som stored procedures. Hvis de kaldes tilpas ofte vil resultatet ligge i
cachen og dermed formindske svartiden.

Som alt andet i IT-verdenen koster det at være smart/hurtigt/effektivt.
Den eneste måde man kan finde ud af hvad der dur bedst, er at foretage et
par tests og måle på belastning og svartider.

--

Klaus Ambrass
IT - Storstrøms Amt
kam@it.stam.dk

Kristian Damm Jensen (24-06-2002)
Kommentar
Fra : Kristian Damm Jensen


Dato : 24-06-02 20:35

Tinky Winky wrote:
>
> Hvis man har en database, som flere forskellige klienter bruger og man skal
> udregne noget simpel statistik på den, som skal vises hos en klient, hvad
> vil så belaste databasen og de andre klienter mindst?
>
> * At lave gange og dividere etc. i SQL og returnere helt eller delvist
> "færdigudregnet" statistik til klienten?
>
> eller
>
> * At overføre al den relevante til klienten, som så vil udregne statistikken
> på klient niveau?

Det kommer bestemt an på, hvilke udregninger der er tale om.

Som Klaus skriver, er det en afvejning af omkostningerne ved at udføre
beregningerne lokalt kontra omkostningerne ved at overføre større
datamængder til klienten. Så vidt så godt.

Men visse typer statistik er nemt at udføre i SQL, andre er temmelig
komplicerede, eller kræver simpelthen et procedurelt sprog (i modsætning
til SQL).

Uden at kende til kompleksiteten af dine behov, eller til dine
datamængder, eller til kapaciteten af din hardware, er det svært at
komme med en kvalificeret anbefaling.

Bortset fra denne ene: Hvis du skal lave statistiske beregninger i SQL,
bør du anskaffe dig Joe Celko: "SQL for smarties". Bemærk, dette er
*ikke* en begynderbog.

Held og lykke.

--
Kristian Damm Jensen | Feed the hungry at www.thehungersite.com
kristian-damm.jensen@cgey.com | Two wrongs doesn't make a right,
ICQ# 146728724 | but three lefts do.



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408525
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste