Avatar billede shjorth Nybegynder
03. september 2009 - 17:25 Der er 10 kommentarer og
1 løsning

mysql_close

I et forsøg på at reducere antallet af connections til min db (3-7k) tænkte jeg om mysql_close vil gøre en forskel, hvis jeg placerer den i bunden af min footer.inc.php.

Det svar jeg umidlebart har fundet frem til er nej, men det kan være der er nogen herude der ved noget andet?

Mange tak og fortsat god dag
Avatar billede arne_v Ekspert
03. september 2009 - 17:42 #1
Docs siger:

Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.
Avatar billede shjorth Nybegynder
03. september 2009 - 17:46 #2
Hvordan laver man så en "non-persistent" connection ?
Avatar billede arne_v Ekspert
03. september 2009 - 17:46 #3
Der er to potentielle grunde til at kalde mysql_close:

1) fordi man synes at det er paent at lukke efter sig

2) kode som:

// aaben connection
// brug connection
// lav noget som tager "lang" tid

hvor:

// aaben connection
// brug connection
mysql_close($con);
// lav noget som tager "lang" tid

vil spare paa connections.
Avatar billede arne_v Ekspert
03. september 2009 - 17:47 #4
almindelig mysql_connect laver en non-persistent connection

mysql_pconnect laver en persistent connection
Avatar billede shjorth Nybegynder
03. september 2009 - 18:39 #5
Så hvis jeg læser korrekt, så i tilfælde af jeg bruger mysql_pconnect, så vil det være taktisk smart at bruge mysql_close ?
Avatar billede arne_v Ekspert
03. september 2009 - 19:02 #6
Jeg mener at det er det samme som for mysql_connect.

Forskellen er kun om mysql_close closer connection eller leverer connection tilbage til poolen.
Avatar billede shjorth Nybegynder
03. september 2009 - 19:08 #7
"leverer connection tilbage til poolen" Hvad vil det sige?
Ja beklager, jeg er lidt rookie på det punkt her.

Ved du om det kan forværre, eller optimere noget som helst hvis jeg smider den i min footer :)?
Avatar billede arne_v Ekspert
03. september 2009 - 19:18 #8
Jeg ved ikke så meget om mysql_pconnect, men hvis dn virker ligesom alle andre connection pools saa:
- har PHP et antal permanent aabne connections til databasen
- mysql_pconnect reserverer en af dem
- mysql_close ophaever reservationen
Avatar billede arne_v Ekspert
03. september 2009 - 19:18 #9
Nej det kan ikke forvaerre noget.

Jeg ville altid kalde mysql_close lige saa snart jeg er faerdig med at bruge connection.
Avatar billede shjorth Nybegynder
03. september 2009 - 19:34 #10
okay.. Jamen mange tak, det vil jeg forsøge mig med..
Ligger du et svar :)
Avatar billede arne_v Ekspert
03. september 2009 - 20:11 #11
gerne
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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