mysql_close()
Beste PHP'ers,
Is er iemand die weet wat de voor- en nadelen zijn van mysql_close()? Wat is bijvoorbeeld de invloed op de snelheid van het script?
Is er iemand die weet wat de voor- en nadelen zijn van mysql_close()? Wat is bijvoorbeeld de invloed op de snelheid van het script?
Gesponsorde koppelingen:
Het zorgt ervoor dat de connectie meteen gesloten wordt wanneer je die geopend had met mysql_pconnect.
De snelheid is iets trager bij de volgende connectie met de database omdat die verbinding weer helemaal moet opgebouwd worden.
Dit kan je overigens pas echt een beetje merken wanneer de DB server en de webserver niet op 1 fysieke server draaien en die gegevens dus over een netwerk moeten verstuurd worden.
De snelheid is iets trager bij de volgende connectie met de database omdat die verbinding weer helemaal moet opgebouwd worden.
Dit kan je overigens pas echt een beetje merken wanneer de DB server en de webserver niet op 1 fysieke server draaien en die gegevens dus over een netwerk moeten verstuurd worden.
Eigenlijk wil ik erachter komen of het in snelheid een voordeel heeft wanneer je eerst een verbinding verbreekt voordat je de gegevens gaat verwerken.
dat word dan testen? Of gewoon aannemen wat Hipska zegt. Het duurt langer om een nieuwe connectie op te bouwen...dus dat zal langzamer zijn.
steen schreef op 21.09.2009 20:18:
Het zal zeker NIET een voordeel bieden in snelheid.Eigenlijk wil ik erachter komen of het in snelheid een voordeel heeft wanneer je eerst een verbinding verbreekt voordat je de gegevens gaat verwerken.
Quote:
Of gewoon aannemen wat Hipska zegt. Het duurt langer om een nieuwe connectie op te bouwen...
Het is over het algemeen sneller om een persistent-connection open te hebben staan. Maar je moet er ook wel bij vertellen wat de nadelen zijn.
Één van de nadelen is dat Apache niet echt heel goed overweg kan met de persistent connections. Heel simpel: Apache is multi-threading en jij probeert Apache te laten luisteren naar iets wat slechts één thread gebruikt (namelijk een persistent connection).
Een ander nadeel is dat je last kunt gaan krijgen van de acties van je voorgangers, zoals het aanmaken van temporary-tables, locken van tables, het niet afgesloten hebben van een transactie die uiteindelijk ook niet meer gecommit wordt en zo zijn er nog wel meer dingen die je moet gaan afwegen tegen het slecht minimale voordeel dat het ietsepietsje sneller is.
Persoonlijk ben ik sowieso niet voor het limiteren van het aantal connecties tot één per script, gezien ik voor transacties eigenlijk het liefst gewoon een nieuwe connectie open om geen conflicten te krijgen.



