webForumDet fria alternativet

Använda mysql_close() eller inte?

PHP

6 svar · 297 visningar · startad av Peeer

Medlem sedan mars 20025 907 inlägg
Frågan#1

Jag och några vänner håller på med ett större projekt baserat på php/mysql. En liten diskussion har dock uppstått och jag hoppas att ni kan räta ut vårt frågetecken. :)

När jag höll på med asp så fick jag lära mig att man skulle stänga ner sina kopplingar mot databasen så fort det bara gick (av prestandaskäl). Men nu, när vi håller på med php, påstår en av projektvännerna (sebbz :OO) att det är onödigt att köra mysql_close() utan istället låta php själv avsluta anslutningen mot databasen när sidan är färdigexekverad. Vilket är egentligen det "bästa" (om det nu finns något sådant svar)?

r/ Skrev dit ett namn :)

Medlem sedan aug. 20002 975 inlägg
#2

Så här säger PHP-manualen:

Using mysql_close() isn't usually necessary, as non-persistent open links are automatically closed at the end of the script's execution.

http://se.php.net/manual/en/function.mysql-close.php

Medlem sedan mars 20025 907 inlägg
#3

Ja visst stängs anslutningen ner när sidan är färdigexekverad, men frågan var vilket som var bäst prestandamässigt. Fast det kanske måste vara enormt mycket hits på siten för att det ska spela någon som helst roll?

Medlem sedan aug. 20002 975 inlägg
#4

Att hålla på att stänga och öppna mysql-anslutningen fram och tillbaka i skriptet tycker jag knappast borde vara någon prestandavinst, så ska man göra det "manuellt" så får den i vilket fall läggas i slutet av skriptet.
Och att då istället låta PHP sköta saken någon millisekunder senare har jag svårt att se skulle ge några större prestandaförluster.

Men jag har samtidigt ingen aning om hur PHP arbetar, så där kanske finns något att hämta.

Medlem sedan mars 20025 907 inlägg
#5

Ok, tack för svaret.
Sorgligt med sant så har nog min vän rätt då. :)

Medlem sedan sep. 20011 086 inlägg
#6

Om du kör dina queries och sånt i början av scriptet och sen har en jävla massa saker efter det som tar tid, så kanske det lönar sig att stänga anslutningen direkt när du är klar och inte sitta och ha en onödig anslutning till mysqlservern. Men annars är det nog ingen större mening med mysql_close();

Medlem sedan juli 2000297 inlägg
#7

Peeer skrev:

en av projektvännerna

Bah, har jag förlorat mitt namn? ;)

red: Bra per :P :birp :moose .

260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)