sql >> Databáze >  >> RDS >> Sqlserver

jak fond databázových připojení ovlivňuje výkon?

Nemám po ruce žádné statistiky výkonu, ale možná malé varování při používání sdružování připojení:můžete skončit s příliš mnoha malými fondy namísto jednoho velkého.

ADO.NET vytvoří nový fond připojení pro

  • každý spojovací řetězec; je to velmi v tomto ohledu je také vybíravý – pokud máte dva připojovací řetězce, které se liší byť jen jednou mezerou nebo něčím podobným, jsou považovány za dva samostatné připojovací řetězce a povedou k vytvoření samostatných připojovacích fondů

  • pro každé pověření Windows, pokud používáte nastavení „integrované zabezpečení“ (důvěryhodné připojení)

Takže pokud máte připojovací řetězec něco jako

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

bude vytvořen jeden fond připojení pro každého rozlišitelného uživatele - to je poněkud kontraintuitivní, ale je to tak (a nelze to ovlivnit / vypnout).

Podívejte se na Dokumenty MSDN podrobnosti o sdružování připojení ADO.NET:

Také, pokud máte tyto dva připojovací řetězce:

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

a

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

ty jsou považovány za odlišné připojovací řetězce, a tím se vytvoří dva samostatné fondy připojení.

Při pokusu o měření účinku sdružování připojení je třeba si toho být vědomi!

Marc



  1. Oracle XMLQuery předávání hodnoty parametru

  2. Symfony Doctrine Migrations, jak mohu použít více správců entit

  3. Proč existuje mnoho variací ve výkonu MySQL (InnoDB)?

  4. Může SQL Server odeslat webový požadavek?