Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 19962|Odpověď: 0

[Zdroj] Jak správně používat SqlConnection, je SqlConnection vlákno bezpečné?

[Kopírovat odkaz]
Zveřejněno 19.11.2016 8:46:14 | | |
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...




Předchozí:javascrip{filter}t:rozdíl mezi history.go() a History.back().
Další:C# Připojení k SQL databázím Běžné spojovací řetězce
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com