Avatar billede Lasse Novice
04. november 2004 - 16:47 Der er 4 kommentarer og
1 løsning

Relationer medfoerer hvilken overfoersel?

Jeg har 2 tabeller:

tabel: T1
IdT1 (pri key)
Data1
Data2
Data3
Data4
Data5
Data6
Data7
Data8

tabel: T2
IdT2 (pri key)
IdT1 (for key)
Name


Jeg skal nu have data fra begge tabeller, men kun for IdT1 = 12. Returneringen vil ca. give mig 1000 raekker. Hvad er hurtigts:

1) Lave et kald med relation i select statementen. Dette medfoerer mindre kald end 2) men et overhead i det som sendes til klienten (samme information i hver raekke).

1) Lave 2 kald til databasen, et fra hver tabel. Paa denne maade saa skal der ikke overfoeres det T1 overhead(samme information) der vil komme i hver raekke.

MVH
Avatar billede arne_v Ekspert
04. november 2004 - 16:52 #1
#1 kræver mere net båndbredde og mere arbejde på server

#2 kræver mere arbejde på client

Det peger faktisk på #2.

MEN ! Hardware er billigt. Mennesker er dyre. #1 giver mindst kode.

Jeg ville vælge #1.
Avatar billede Lasse Novice
04. november 2004 - 17:11 #2
arne_v>> lad os nu sige at hver raekke i T1 fylder 2-4kbytes, hver raekke i T2 = 15bytes

#1 (2-4kbytes + 15bytes) * 1000 raekker = 2-4 mbytes!!!!
#2 istedet for 15 * 1000 raekker + 2-4kbytes = 17 - 19 kbytes!!!!

Sql server streameren er ikke saa smart at den kun overfoerer det een gang, eftersom den kan "se" at det er det samme "sidste raekke"?
Avatar billede arne_v Ekspert
04. november 2004 - 17:16 #3
Med en row size i 2-4KB størrelse, så vil der være mærkbar forskel på
hastighed.

Og så er #2 selvfølgelig oplagt.

Det er lidt store rækker. Hvis Data felterne havde være integer så havde forskellen
ikke været stor.

Hvis du bruger SQLServer kunne du også kalde en stored procedure
som returnerede 2 result set !
Avatar billede Lasse Novice
04. november 2004 - 18:04 #4
jeg lavede det som et eksempel for at teste min teori - det er ikke noget fra virkeligheden. Men min teori passede, saa dette spg. er besvaret. Det med SP virker rimelig smart.

Pointene er dine.
Avatar billede arne_v Ekspert
04. november 2004 - 18:05 #5
svar
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester