Odkaz na článek je následující:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: Je SqlConnection bezpečný pro vlákna?
Lze vědět, že použití spojení k vykonání SQL příkazu v vícevláknovém prostředí jeNení to bezpečnéCíl.
SqlConnection není bezpečný pro vlákna, takže vícevláknové zpracování je nevyhnutelně problémem. Ve skutečnosti .net automaticky poskytuje správu poolu spojení, pokud je spojovací řetězec stejný (musí být přesně stejný), bude ve stejném poolu, open a close ve skutečnosti berou spojení z poolu a vracejí ho zpět do poolu, což nezpůsobuje problémy s výkonem. Proto by po otevření každého spojení mělo být co nejdříve po použití uzavřeno, aby bylo možné připojení vrátit do poolu pro použití jinými programy.
2: Proč lidé stále používají výše uvedenou metodu psaní k vytváření Connections?
Myslím, že si mohou myslet, že vytváření více spojení je časově náročné a že více spojení zabírá paměť, ovlivňuje výkon atd.
3: Zabírá každý nový SqlConnection paměť a zdroje, což ovlivňuje výkon?
To je slepé myšlení, slepé obavy.
Protože"Vytvoření více spojení" nemusí nutně vytvořit více nových databázových spojeníPřipojení k databázi je cenným zdrojem, pokud jde o MS SQL Server, tento zdroj bude interně optimalizován a spojení bude znovu využito.
Connection pool poskytuje .net, v connection stringu je vlastnost Pooling, výchozí je true, tedy connection pool je zapnutý ve výchozím nastavení, to nemá nic společného se SQL serverem, pokud do connection stringu napíšete Pooling=fals, pak žádný connection pool neexistuje, to je zcela . .NET optimalizace.
Zkoumání důsledků použití stejného databázového spojení ve více vláknech Odkaz na článek: http://www.th7.cn/Program/java/201503/415005.shtml
Shrnutí: V prostředí s více vlákny může použití jednoho spojení způsobit transakční zmatek bez bezpečného zpracování spojení pro vlákna.... Ovlivňuje používání transakcí JDBC...
|