sql >> Databasteknik >  >> RDS >> Mysql

mysql_connect VS mysql_pconnect

Beständiga anslutningar borde vara onödiga för MySQL. I andra databaser (som Oracle) är det dyrt och tidskrävande att skapa en anslutning, så om du kan återanvända en anslutning är det en stor vinst. Men dessa märken av databas erbjuder anslutningspoolning, vilket löser problemet på ett bättre sätt.

Att göra en anslutning till en MySQL-databas går snabbt jämfört med de andra märkena, så att använda beständiga anslutningar ger proportionellt mindre fördelar för MySQL än för ett annat märke av databas.

Ihållande anslutningar har också en nackdel. Databasservern allokerar resurser till varje anslutning, oavsett om anslutningarna behövs eller inte. Så du ser mycket bortkastade resurser utan syfte om anslutningarna är inaktiva. Jag vet inte om du når 10 000 lediga anslutningar, men till och med ett par hundra är kostsamt.

Anslutningar har tillstånd, och det skulle vara olämpligt för en PHP-förfrågan att "ärva" information från en session som tidigare använts av en annan PHP-förfrågan. Till exempel rensas temporära tabeller och användarvariabler normalt upp när en anslutning stängs, men inte om du använder beständiga anslutningar. Likaså sessionsbaserade inställningar som teckenuppsättning och sortering. Även LAST_INSERT_ID() skulle rapportera det id som senast genererades under sessionen -- även om det var under en tidigare PHP-förfrågan.

Åtminstone för MySQL uppväger nackdelen med ihållande anslutningar förmodligen deras fördelar. Och det finns andra, bättre tekniker för att uppnå hög skalbarhet.

Uppdatering mars 2014:

MySQL-anslutningshastigheten var alltid låg jämfört med andra märken av RDBMS, men den blir ännu bättre.

Se http://mysqlserverteam.com/improving-connectdisconnect-performance/

Läs bloggen för mer information och hastighetsjämförelser.



  1. Hur infogar man specialtecken i en databas?

  2. chmod misslyckades:EPERM (operation ej tillåten) i Android?

  3. Hur man installerar Lighttpd med PHP, MariaDB och PhpMyAdmin i Ubuntu

  4. sortera efter XXX sortera efter ASC eller DESC, dynamisk ordning, mysql...