Připojení je vhodnější vytvářet pouze na dobu provádění dotazů. Na druhou stranu je hloupost otevírat spojení 100x hned za sebou. Nejlepší řešení je jej otevřít vždy v rámci nějakého bloku příkazů. Klient má ale naštěstí automatickou funkci connection pooling. Ta zaručuje lepší práci s připojeními. Konkrétně při ukončení spojení jej vrátí do tzv. connection poolu a čeká, jestli se aplikace na jiném místě nepokusí otevřít připojení pomocí stejného připojovacího řetězce. Pokud ano, přidělí mu zinicializované připojení z poolu bez nutnosti znovu otevírat nové připojení. To nám zaručí prakticky nulovou režiji. To ocení hlavně tvůrci webových aplikací, kde velký počet požadavků provádí řadu dotazů - zde by čas potřebný na navázání spojení byl značně nepříjemný. Snažit se tedy mít spojení sdílené pro celou aplikaci je hloupost, dostatečně dobře to za nás dělá již samotný .NET framework. Pravidlem je ale vždy spojení uzavírat, jinak je možnost, že se do connection poolu ihned nevrátí a bude zbytečně blokovat jeden slot připojení.
|