Linket til artiklen er som følger:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: Er SqlConnection trådsikker?
Det kan vides, at brug af en forbindelse til at udføre en SQL-sætning i et multitrådet miljø erIkke sikkertMål.
SqlConnection er ikke trådsikker, så multitrådning er uundgåeligt et problem. Faktisk leverer .net automatisk administration af forbindelsespoolen, så længe forbindelsesstrengen er den samme (skal være præcis den samme), vil den være i den samme pool, åbning og luk tager faktisk en forbindelse fra poolen og lægger forbindelsen tilbage i poolen, hvilket ikke vil forårsage performanceproblemer. Derfor bør hver forbindelse lukkes så hurtigt som muligt efter brug, efter at forbindelsen er åbnet, så forbindelsen kan returneres til poolen til andre programmer.
2: Hvorfor bruger folk stadig ovenstående skrivemetode til at skabe forbindelser?
Jeg tror, de måske tror, at det tager tid at oprette flere forbindelser, og at flere forbindelser bruger hukommelse, påvirker ydeevnen osv.
3: Bruger hver ny SqlConnection hukommelse og ressourcer, hvilket påvirker ydeevnen?
Det er blind tænkning, blind bekymring.
Fordi"Oprettelse af flere forbindelser" skaber ikke nødvendigvis flere nye databaseforbindelserDatabaseforbindelse er en værdifuld ressource, som det gælder MS SQL Server, denne værdifulde ressource vil blive optimeret internt, og forbindelsen vil blive genbrugt.
Forbindelsespoolen leveres af .net, der er en Pooling-egenskab i forbindelsesstrengen, standarden er sand, det vil sige, forbindelsespoolen er slået til som standard, dette har intet med SQL Server at gøre, hvis du skriver Pooling=false i forbindelsesstrengen, så er der ingen forbindelsespool, det er fuldstændig . .NET-optimering.
Undersøgelse af konsekvenserne af at bruge den samme databaseforbindelse i flere tråde Artikellink: http://www.th7.cn/Program/java/201503/415005.shtml
Resumé: I et multitrådet miljø kan brugen af en enkelt forbindelse forårsage transaktionsforvirring uden trådsikker håndtering af forbindelsen.... Påvirker brugen af JDBC-transaktioner...
|