Avatar billede debugger Nybegynder
22. juni 2001 - 09:37 Der er 1 kommentar og
1 løsning

Optimering af databaser....

Jeg bruger 2 Recordset i min kode: ObjRS1 og ObjRS2

De bruger ObjConn som activeconnection

Jeg frakobler begge postsæt efter at have udført ObjRS1.open(sql), da jeg bruger Klienside markører.. dette skulle optimere performance.

Altså: ObjRS1.activeconn = Nothing

Hvad er så mest optimalt? (I får lige en gang pseudo kode)

Lukke Connection objektet efter hvert Recordset:
-------------
Åben ObjConn
Åben ObjRS1
ObjRS1.activeconn = Nothing
Luk ObjConn
Benyt ObjRS1 (herefter skal det ikke bruges mere)
Luk ObjRS1

Åben ObjConn(igen)
Åben ObjRS2
ObjRS2activeconn = Nothing
Luk ObjConn
Benyt ObjRS2 (herefter skal det ikke bruges mere)
Luk ObjRS2

ELLER - Lade Connection objektet stå åbent:
--------------------
Åben ObjConn

Åben ObjRS1
ObjRS1.activeconn = Nothing
Benyt ObjRS1 (herefter skal det ikke bruges mere)
Luk ObjRS

Åben ObjRS2
ObjRS2activeconn = Nothing
Luk ObjConn
Benyt ObjRS2 (herefter skal det ikke bruges mere)

Jeg håber det er til at gennemskue :o)

Jeg har forespurgt på vores webhotel, om de bruger Connection Pooling, hvilket jeg ikke har fået svar på endu. Jeg ved ikke hvor meget det spiller ind.

Jeg kunne forestille mig det ikke kunne \"betale\" sig at lukke Connection objektet hele tiden hvis connection Pooling er slået til?
Avatar billede debugger Nybegynder
22. juni 2001 - 09:45 #1
Hmm... de benyttede _ikke_ connection pooling +på vores webhotel.
Avatar billede kichian Nybegynder
22. juni 2001 - 10:48 #2
Hvis der benyttes Connection Pooling kan(skal/bør) du lukke din forbindelse når du har hentet dit recordset eller foretaget din opdatering. Dette skyldes at selvom DU lukker forbindelsen, så vil Connection manageren holde den åben et stykke tid. Dette er \"by design\" og er med til at forbedre programdesignet.

Hvis der IKKE er Connection Pooling, så vælger jeg at køre med en global forbindelse, som åbnes i starten af siden og lukkes som det aller sidste.
Denne globale forbindelse benyttes til alle DB-kald.
Dette giver selvfølgelig det problem at jeg før alle Response.Redirects er nød til at lukke forbindelsen her. Men det er prisen for manglende Connection Pooling.

Jeg mener at hvis du bruger OLE DB-driveren, så bliver forbindelsen Poolet alligevel af Transaction serveren.


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