sql >> Database teknologi >  >> RDS >> Mysql

MySQL - Vedvarende forbindelse vs forbindelsespooling

At have vedvarende forbindelser betyder ikke, at alle tråde bruger den samme forbindelse. Det "siger" bare, at du holder forbindelsen åben (i modsætning til at åbne en forbindelse, hver gang du skal bruge en). At åbne en forbindelse er en dyr operation, så - generelt - forsøger du at undgå at åbne forbindelser oftere end nødvendigt.

Dette er grunden til, at flertrådede applikationer ofte bruger forbindelsespuljer. Poolen sørger for at åbne og lukke forbindelser, og hver tråd, der har brug for en forbindelse, anmoder om en fra poolen. Det er vigtigt at sørge for, at tråden returnerer forbindelsen hurtigst muligt til poolen, så en anden tråd kan bruge den.

Hvis din applikation kun har nogle få lange tråde, der har brug for forbindelser, kan du også åbne en forbindelse for hver tråd og holde denne åben.

Brug af kun én forbindelse (som du beskrev det) er lig med en forbindelsespulje med den maksimale størrelse en. Dette vil før eller siden være din flaskehals, da alle tråde skal vente på forbindelsen. Dette kunne være en mulighed for at serialisere databasehandlingerne (udfør dem i en bestemt rækkefølge), selvom der er bedre muligheder for at sikre serialisering.



  1. Deaktiver alle tabelbegrænsninger i Oracle

  2. php artisan migrate throwing [PDO-undtagelse] Kunne ikke finde driveren - bruger Laravel

  3. MySQL:Fejlkode:1118 Rækkestørrelse for stor (> 8126). Ændring af nogle kolonner til TEXT eller BLOB

  4. vælg fra en tabel og indsæt i en anden