Avatar billede jacand Nybegynder
27. juli 2005 - 18:06 Der er 3 kommentarer

fordel ulembper

Fordel/ulemper ved åben/gem

Jeg bruger rs.Open SQL, strDSN, 0, 1 når jeg henter data der kun skal læses, og rs.Open SQL, strDSN, 1, 3 når data skal gemmes i databasen.

Hvad er fordel/ulemper ved det?
Er det den rigtigt måde at gøre det på, eller er der en bedre måde rent hastighedsmæssigt?
Avatar billede busschou Praktikant
27. juli 2005 - 23:47 #1
Jeg har ikke specitelt forstand på performance delen
For jeg plejer selv at benytte en ADODB.Connection hvorved jeg blot kalder
conn.Execute(sql) uanset om det er en update, select, eller insert
Så vidt jeg har forstået så låser den hele tabellen på den måde så kun een kan pille i tabellen ad gangen
Som du gør det med et ADODB.Recordset kan man åbne på andre måder med forskellige Cursore og Locks som du kan læse om her
http://www.w3schools.com/ado/met_rs_open.asp#CursorTypeEnum
Hvilken cursor og lock man skal vælge afhænger så af ens situation :o)
Avatar billede jacand Nybegynder
28. juli 2005 - 00:13 #2
i min gamle kode havde jeg brugt rs.Open SQL, strDSN, 1, 3 både når jeg læste og gemte i databasen, men rent hastighedsmæssigt er det vel en meget dårlig ide at bruge rs.Open SQL, strDSN, 1, 3 når man kun skal læse, da man låser i databasen uden grund, er det ikke rigtigt forstået?
Avatar billede busschou Praktikant
28. juli 2005 - 08:10 #3
jeg ved ikke om det hastighedsmæssig for den enkelte læsning betyder noget
Men det er klart at hvis du har 1000 brugere som hver især skal hente 100.000 records, så er det total set væsentlig hurtigere hvis man ikke låser databsen eftersom de så samtidig kan læse fra databasen
Dilemmaet kommer når man skal gemme noget, hvad enten det er ved en Update eller Insert
Hvis ingen tabeller er afhængige af hinanden er det ikke et problem, men hvis der er afhængighed så går det ikke at man kan rette samtidig i afhængige tabeller
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
Kurser inden for grundlæggende programmering

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