Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 19962|Odpowiedź: 0

[Źródło] Jak poprawnie korzystać z SqlConnection, czy wątek SqlConnection jest bezpieczny?

[Skopiuj link]
Opublikowano 19.11.2016 08:46:14 | | |
Link do artykułu jest następujący:

http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html

1: Czy SqlConnection jest bezpieczny w wątkach?

Wiadomo, że użycie połączenia do wykonania instrukcji SQL w środowisku wielowątkowym jestNiebezpieczneCel.

SqlConnection nie jest bezpieczny dla wątków, więc wielowątkowość musi być problemem.
W rzeczywistości .net automatycznie zarządza pulą połączeń, o ile ciąg połączeń jest taki sam (musi być dokładnie taki sam), to w tej samej puli, a open i close faktycznie pobierają połączenie z puli i oddają je z powrotem do puli, co nie powoduje problemów z wydajnością. Dlatego po otwarciu każdego połączenia należy je jak najszybciej zamknąć po użyciu, aby połączenie mogło zostać ponownie włączone do puli dla innych programów.



2: Dlaczego ludzie wciąż używają powyższej metody pisania do tworzenia Relacji?

Myślę, że mogą myśleć, że tworzenie wielu połączeń jest czasochłonne, a wiele połączeń zajmuje pamięć, wpływa na wydajność itd.


3: Czy każdy nowy SqlConnection zajmuje pamięć i zasoby, co wpływa na wydajność?

To jest ślepe myślenie, ślepe martwienie się.

Ponieważ"Tworzenie wielu połączeń" niekoniecznie oznacza tworzenie wielu nowych połączeń z bazą danychPołączenie z bazą danych jest cennym zasobem, z punktu widzenia MS SQL Server to źródło jest zoptymalizowane wewnętrznie, a połączenie ponownie wykorzystywane.

Pula połączeń jest dostarczana przez .net, w ciągu połączeń jest właściwość Pooling, domyślna jest true, czyli pula połączeń jest domyślnie włączona, nie ma to nic wspólnego z SQL Server, jeśli zapiszesz Pooling=false w ciągu połączeń, to nie ma puli połączeń, to jest całkowicie . Optymalizacja .NET.



Badanie konsekwencji używania tego samego połączenia bazy danych w wielu wątkach
Link do artykułu: http://www.th7.cn/Program/java/201503/415005.shtml

Podsumowanie: W środowisku wielowątkowym użycie pojedynczego połączenia może powodować zamieszanie w transakcjach bez bezpiecznej obsługi połączenia w wątkach.... Wpływa na wykorzystanie transakcji JDBC...




Poprzedni:javascrip{filter}t:the difference between history.go() a History.back().
Następny:C# Łączenie z bazami danych SQL Typowe ciągi połączeń
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com