Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 19962|Jawab: 0

[Sumber] Cara menggunakan SqlConnection dengan benar, apakah utas SqlConnection aman?

[Salin tautan]
Diposting pada 19/11/2016 08.46.14 | | |
Tautan ke artikel adalah sebagai berikut:

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

1: Apakah utas SqlConnection aman?

Dapat diketahui bahwa menggunakan Connection untuk mengeksekusi pernyataan SQL di lingkungan multithreaded adalahTidak amanTarget.

SqlConnection tidak aman untuk utas, jadi multithreading pasti akan menjadi masalah.
Faktanya, .net secara otomatis menyediakan manajemen kumpulan koneksi, selama string koneksi sama (harus persis sama), itu akan berada di kumpulan yang sama, buka dan tutup benar-benar mengambil koneksi dari kumpulan dan menempatkan koneksi kembali ke pool, yang tidak akan menyebabkan masalah kinerja. Oleh karena itu, setelah setiap koneksi dibuka, harus ditutup sesegera mungkin setelah digunakan, sehingga koneksi dapat dikembalikan ke kolam untuk digunakan oleh program lain.



2: Mengapa orang masih menggunakan metode penulisan di atas untuk membuat Koneksi?

Saya pikir mereka mungkin berpikir bahwa membuat beberapa Koneksi memakan waktu, dan bahwa beberapa Koneksi menghabiskan memori, memengaruhi kinerja, dll.


3: Apakah setiap SqlConnection baru menghabiskan memori dan sumber daya, yang memengaruhi kinerja?

Ini adalah pemikiran buta, kekhawatiran buta.

Karena"Membuat beberapa koneksi" tidak selalu membuat beberapa koneksi database baruKoneksi database adalah sumber daya yang berharga, sejauh menyangkut MS SQL Server, sumber daya berharga ini akan dioptimalkan secara internal, dan koneksi akan digunakan kembali.

Kumpulan koneksi disediakan oleh .net, ada properti Pooling dalam string koneksi, defaultnya adalah true, yaitu kumpulan koneksi diaktifkan secara default, ini tidak ada hubungannya dengan sql server, jika Anda menulis Pooling=false di string koneksi, maka tidak ada kumpulan koneksi, ini sepenuhnya . Pengoptimalan .NET.



Menjelajahi konsekuensi menggunakan koneksi database yang sama di beberapa utas
Pranala artikel: http://www.th7.cn/Program/java/201503/415005.shtml

Ringkasan: Dalam lingkungan multi-utas, menggunakan satu koneksi dapat menyebabkan kebingungan transaksi tanpa penanganan koneksi yang aman untuk utas.... Memengaruhi penggunaan transaksi JDBC...




Mantan:javascrip{filter}t:perbedaan antara history.go() dan History.back().
Depan:C# Menyambungkan ke SQL Databases String koneksi umum
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com