A cikk linkje a következő:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: Biztonságos-e a SqlConnection thread-biztonsága?
Ismert, hogy egy Connection használata egy SQL utasítás végrehajtására egy többszálas környezetbenNem biztonságosCél.
A SqlConnection nem szálbiztonságos, tehát a multithreading biztosan problémát jelent. Valójában a .net automatikusan biztosítja a kapcsolati pool menedzsmentet, amennyiben a kapcsolati lánc ugyanaz (pontosan ugyanaznak kell lennie), ugyanabban a poolban lesz, a nyitó és záró pedig valójában a poolból vesznek egy kapcsolatot, és visszahelyezik a kapcsolatot a poolba, ami nem okoz teljesítményproblémákat. Ezért minden kapcsolat megnyitása után a használat után a lehető leghamarabb be kell zárni, hogy a kapcsolatot vissza tudják téríteni a poolba, hogy más programok is használhathassák.
2: Miért használják még mindig az emberek a fent említett írásmódot a kapcsolatok létrehozására?
Szerintem azt gondolják, hogy több kapcsolat létrehozása időigényes, és több kapcsolat is memóriát foglal, befolyásolja a teljesítményt stb.
3: Minden új SQL Connection memóriát és erőforrásokat foglal el, ami befolyásolja a teljesítményt?
Ez vak gondolkodás, vak aggódás.
MertA "több kapcsolat létrehozása" nem feltétlenül több új adatbázis-kapcsolatot hoz létreAz adatbázis-kapcsolat értékes erőforrás, ami az MS SQL Server szempontjából fontos, ezt az értékes erőforrást belsőleg optimalizálják, és a kapcsolatot újrahasznosítják.
A kapcsolati poolt a .net biztosítja, a kapcsolati láncsorban van egy Pooling tulajdonság, az alapértelmezett true, vagyis a kapcsolat pool alapértelmezetten be van kapcsolva, ennek semmi köze a SQL szerverhez, ha a csatlakozási láncsorba Pooling=false betűt írsz, akkor nincs kapcsolati pool, ez teljesen . .NET optimalizálás.
Ugyanazon adatbázis-kapcsolat több szálban történő használatának következményei vizsgálata Cikk link: http://www.th7.cn/Program/java/201503/415005.shtml
Összefoglaló: Többszálas környezetben egyetlen kapcsolat használata tranzakciós zavart okozhat anélkül, hogy szálas kezelést biztosítana... Hatással van a JDBC tranzakciók használatára...
|