webForumDet fria alternativet

Öppna och stäng anslutningen till databasen flera gånger

PHP

2 svar · 344 visningar · startad av Rocket

Medlem sedan feb. 2000372 inlägg
Frågan#1

Tidigare har jag alltid gjort så att jag har öppnat en anslutning till databasen i början på filen och stäng anslutningen i slutet. Det har bara öppnats en anslutning till databasen per genererad sida. På detta sätt användes anslutningen bara en liten del av tiden den var öppen.

Nu på senare tiden så har jag bara öppnat anslutningar till databasen inne i mina funktioner och stängt dessa innan funktionen har returnerat. När många funktionsanrop görs för att generera en sida så kommer många anslutningar till databasen att öppnas och stängas. Jag tycker att det är en snyggare lösning att öppna en anslutning till databasen just när man behöver den.

function getPostsFromDatabase() {
	$link = dbOpen();
	[…]
	dbClose($link);
	retrun $out;
}

Det sista alternativet ger ju flera kort anslutningar istället för endast en lång, vilket är att föredra?

Det är en mySQL databas som jag använder.

mvh Simon

Medlem sedan juni 20008 205 inlägg
#2

Det är en jättedålig lösning. Att upprätthålla en anslutning en kort stund är betydligt mindre krävande än att öppna och stänga flera stycken. Tänk på att varje anslutning orsakar åtminstone en SELECT i databasen (för att verifiera användaren), och innan det ens händer måste nätverksanslutningar upprättas etc.

Medlem sedan feb. 2000372 inlägg
#3

Ja det låter som du har rätt. Jag får ta och tänk om när det gäller mina anslutningar till databasen.

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)