Artikli link on järgmine:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: Kas SqlConnection on lõimede suhtes ohutu?
On teada, et ühenduse kasutamine SQL-lause käivitamiseks mitmelõimelises keskkonnas onPole ohutuMärklaud.
SqlConnection ei ole lõimede turvaline, seega mitmelõimeline süsteem on paratamatult probleem. Tegelikult pakub .net automaatselt ühenduse basseini haldust, kui ühendusstring on sama (peab olema täpselt sama), on see samas basseinis, avamine ja sulgemine võtavad ühenduse basseinist ja panevad ühenduse tagasi basseini, mis ei põhjusta jõudlusprobleeme. Seetõttu tuleks pärast iga ühenduse avamist see sulgeda võimalikult kiiresti, et ühendus saaks tagasi basseini teiste programmide jaoks.
2: Miks inimesed kasutavad endiselt ülaltoodud kirjutamismeetodit Connectionsi loomiseks?
Arvan, et nad võivad arvata, et mitme ühenduse loomine võtab aega, mitmed ühendused võtavad mälu, mõjutavad jõudlust jne.
3: Kas iga uus SqlConnection võtab mälu ja ressursse, mis mõjutab jõudlust?
See on pime mõtlemine, pime muretsemine.
Sest"Mitme ühenduse loomine" ei tähenda tingimata mitut uut andmebaasiühendustAndmebaasi ühendus on väärtuslik ressurss, mis puudutab MS SQL Serverit, see väärtuslik ressurss optimeeritakse sisemiselt ja ühendust kasutatakse taas.
Ühenduspooli pakub .net, ühendusstringis on olemas Pooling omadus, vaikimisi on true, st ühendusbassein on vaikimisi sisse lülitatud, see pole seotud SQL serveriga, kui kirjutad ühendusstringi Pooling=vale, siis ühenduspooli ei ole, see on täiesti . .NET optimeerimine.
Sama andmebaasiühenduse kasutamise tagajärgede uurimine mitmes lõimes Artikli link: http://www.th7.cn/Program/java/201503/415005.shtml
Kokkuvõte: Mitmelõimelises keskkonnas võib ühe ühenduse kasutamine põhjustada tehingute segadust ilma ühenduse ohutu käsitlemiseta.... Mõjutab JDBC tehingute kasutamist...
|