Lenken til artikkelen er som følger:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: Er SqlConnection trådsikker?
Det kan være kjent at bruk av en Connection for å kjøre en SQL-setning i et flertrådet miljø erIkke trygtMål.
SqlConnection er ikke trådsikker, så multitråding vil garantert bli et problem. Faktisk gir .NET automatisk administrasjon av tilkoblingspoolen, så lenge tilkoblingsstrengen er den samme (må være nøyaktig den samme), vil den være i samme pool, åpen og lukk tar faktisk en tilkobling fra poolen og legger forbindelsen tilbake i poolen, noe som ikke vil forårsake ytelsesproblemer. Derfor bør hver tilkobling lukkes så snart som mulig etter bruk, slik at tilkoblingen kan returneres til poolen for andre programmer.
2: Hvorfor bruker folk fortsatt denne skrivemetoden for å lage Connections?
Jeg tror de kanskje tror at det tar tid å lage flere forbindelser, og at flere forbindelser tar opp minne, påvirker ytelsen, osv.
3: Bruker hver ny SqlConnection minne og ressurser, noe som påvirker ytelsen?
Dette er blind tenkning, blind bekymring.
Fordi"Å opprette flere tilkoblinger" skaper ikke nødvendigvis flere nye databasetilkoblingerDatabasetilkobling er en verdifull ressurs, for MS SQL Server vil denne verdifulle ressursen bli optimalisert internt, og tilkoblingen vil bli gjenbrukt.
Tilkoblingspoolen tilbys av .net, det finnes en Pooling-egenskap i tilkoblingsstrengen, standarden er sann, det vil si at tilkoblingspoolen er slått på som standard, dette har ingenting med SQL Server å gjøre, hvis du skriver Pooling=false i tilkoblingsstrengen, finnes det ingen tilkoblingspool, dette er helt . .NET-optimalisering.
Utforsking av konsekvensene av å bruke samme databasetilkobling i flere tråder Artikkellenke: http://www.th7.cn/Program/java/201503/415005.shtml
Sammendrag: I et flertrådet miljø kan bruk av én enkelt tilkobling føre til transaksjonsforvirring uten trådsikker håndtering av forbindelsen.... Påvirker bruken av JDBC-transaksjoner...
|