sql >> Database teknologi >  >> RDS >> Sqlserver

hvordan databaseforbindelsespulje påvirker ydeevnen?

Jeg har ingen præstationsstatistik ved hånden, men måske en advarsel, når du bruger forbindelsespooling:du kan ende med for mange små puljer i stedet for en stor.

ADO.NET vil oprette en ny forbindelsespulje for

  • hver forbindelsesstreng; det er meget også kræsen med dette - hvis du har to forbindelsesstrenge, der er forskellige med blot et enkelt mellemrum eller noget, betragtes de som to separate forbindelsesstrenge og vil føre til, at der oprettes separate forbindelsespuljer

  • for hver Windows-legitimationsoplysninger, hvis du bruger indstillingen "integreret sikkerhed" (pålidelig forbindelse)

Så hvis du har en forbindelsesstreng noget lignende

server=MyDBServer;database=MyDatabase;integrated security=SSPI;

Der vil blive oprettet en forbindelsespulje for hver bruger, der kan skelnes - det er ret kontraintuitivt, men sådan er det (og det kan ikke påvirkes/deaktiveres).

Tjek MSDN-dokumenterne på ADO.NET-forbindelsespooling for detaljer:

Også, hvis du har disse to forbindelsesstrenge:

server=MyDBServer;database=MyDatabase;user id=tom;pwd=top$secret

og

server=MyDBServer;database=MyDatabase;user id=tom; pwd=top$secret;

disse anses for at være forskellige forbindelsesstrenge, og dermed oprettes to separate forbindelsespuljer.

Når du forsøger at måle effekten af ​​forbindelsespooling, er dette noget, du skal være opmærksom på!

Marc



  1. 15 Grundlæggende MySQL-interviewspørgsmål til databaseadministratorer

  2. PostgreSQL:Gruppering og derefter filtreringstabel, med betingelse for ikke-eksistens

  3. MySQL gadenavn fuzzy søgning

  4. Lumen 5.6 Migreringsfejl Den angivne nøgle var for lang, maks. nøglelængde er 767 bytes