jag har lärt mig att det räcker med
set rs = nothing
set connection = nothing
.Close är bara onödigt...ger ingen större prestandard!
4 svar · 230 visningar · startad av joup
Sitter och försöker optimera min ASP-sida med MySQL-databasen och har en lite fundering.
När man skall stänga en recordset och connection använder jag mig av
RS.Close
Connection.Close
Men jag har sett när jag laddat ned färdiga koder att man ibland använder sig av
RS.Close
Set RS = nothing
Connection.Close
Set Connection = nothing
Vad är det för skillnad att göra det. Blir det någon märkbar prestandaökning eller är det bara onödigt?
jag har lärt mig att det räcker med
set rs = nothing
set connection = nothing
.Close är bara onödigt...ger ingen större prestandard!
Men är väl kopplingen till MySQL-databasen fortfarande öppen? Det kan ju inte vara bra
Med .Close stänger man objektens kopplingar. När man deklarerar dem till Nothing förstörs objekten. En koppling som du stängt ( Med .Close ) kan du alltså öppna igen, medan du med en koppling som du deklarerat till Nothing måste deklarera om.
Set Connection = Server.CreateObject( "ADODB.Connection" )
Connection.Open "DSN=blurr"
Connection.Close
Connection.Open "DSN=blarr"
Set Connection = Nothing
Connection.Open "DSN=blerr" 'Funkar alltså INTE
' Du måste nu deklarera om Connection:
Set Connection = Server.CreateObject( "ADODB.Connection" )
Connection.Open "DSN=blerr"
Med en instans som inte skall användas något mer kan du alltså deklarera till Nothing direkt, då .Close-metoden körs i destruktorn av objektet.
Set Connection = Nothing
' Är alltså lika som:
Connection.Close
Set Connection = Nothing
' + ett par saker till säkert
Tack SPiN för den oerhört uttömmande förklaringen, bästa jag hört :birp