Der Link zum Artikel lautet wie folgt:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: Ist SqlConnection thread-sicher?
Es ist bekannt, dass die Verwendung einer Verbindung zur Ausführung einer SQL-Anweisung in einer Multithread-UmgebungNicht sicherZiel.
SqlConnection ist nicht threadsicher, daher wird Multithreading zwangsläufig ein Problem sein. Tatsächlich bietet .net automatisch das Connection Pool-Management, solange der Connection String derselbe ist (muss genau derselbe sein), befindet er sich im selben Pool; Open und Close nehmen tatsächlich eine Verbindung aus dem Pool und legen die Verbindung zurück in den Pool, was keine Leistungsprobleme verursacht. Daher sollte jede Verbindung nach dem Öffnen so schnell wie möglich nach der Nutzung geschlossen werden, damit die Verbindung für andere Programme wieder in den Pool zurückgegeben werden kann.
2: Warum verwenden Menschen immer noch die oben genannte Schreibmethode, um Verbindungen zu erstellen?
Ich denke, sie könnten denken, dass das Erstellen mehrerer Verbindungen zeitaufwendig ist und dass mehrere Verbindungen Speicher beanspruchen, die Leistung beeinträchtigen usw.
3: Beansprucht jede neue SQL-Verbindung Speicher und Ressourcen, was die Performance beeinträchtigt?
Das ist blindes Denken, blindes Sorgen.
Weil"Mehrere Verbindungen erstellen" erzeugt nicht zwangsläufig mehrere neue DatenbankverbindungenDie Datenbankverbindung ist für MS SQL Server eine wertvolle Ressource, diese wertvolle Ressource wird intern optimiert und die Verbindung wird wiederverwendet.
Der Connection Pool wird durch .net bereitgestellt, es gibt eine Pooling-Eigenschaft in der Connection String, der Standard ist true, das heißt, der Connection Pool ist standardmäßig aktiviert, das hat nichts mit SQL Server zu tun. Wenn man Pooling=false in die Connection String schreibt, gibt es keinen Connection Pool, das ist komplett . .NET-Optimierung.
Untersuchung der Folgen derselben Datenbankverbindung in mehreren Threads Artikellink: http://www.th7.cn/Program/java/201503/415005.shtml
Zusammenfassung: In einer Multi-Thread-Umgebung kann die Verwendung einer einzelnen Verbindung zu Transaktionsverwirrung führen, ohne dass die Verbindung threadsicher behandelt wird.... Betrifft die Nutzung von JDBC-Transaktionen...
|