Makaleye verilen bağlantı şöyledir:
http://www.cnblogs.com/LoveJenny/archive/2011/10/31/2229738.html
1: SqlConnection iş başlığı için güvenli mi?
Çok iş parçacıklı bir ortamda bir Sql ifadesi çalıştırmak için Bağlantı kullanmanınGüvenli değilHedef.
SqlConnection iş başlığı güvenli değildir, yani çoklu iş parçacığı mutlaka bir sorun olacaktır. Aslında, .net otomatik olarak bağlantı havuzu yönetimini sağlar, bağlantı dizisi aynı olduğu sürece (tamamen aynı olmalı), aynı havuzda olur, açık ve kapalı aslında havuzdan bir bağlantı alır ve bağlantıyı havuza geri koyar, bu da performans sorunlarına yol açmaz. Bu nedenle, her bağlantı açıldıktan sonra, bağlantının diğer programların kullanabileceği havuza geri dönebilmesi için mümkün olan en kısa sürede kapatılmalıdır.
2: İnsanlar neden hala yukarıdaki yazma yöntemini kullanarak Bağlantılar yaratıyor?
Bence birden fazla Bağlantı oluşturmanın zaman alıcı olduğunu ve birden fazla Bağlantının hafıza aldığını, performansı etkilediğini vs. düşünebilirler.
3: Her yeni SqlConnection bellek ve kaynak alıyor mu, performansı mı etkiler?
Bu kör düşünme, kör endişe.
Çünkü"Birden fazla bağlantı oluşturmak" mutlaka birden fazla yeni veritabanı bağlantısı oluşturmazVeritabanı bağlantısı değerli bir kaynaktır; MS SQL Server açısından bu değerli kaynak dahili olarak optimize edilir ve bağlantı yeniden kullanılır.
Bağlantı havuzu .net tarafından sağlanır, bağlantı dizisinde bir Havuzlama özelliği vardır, varsayılan doğrudur, yani bağlantı havuzu varsayılan olarak açıktır, bunun SQL sunucusuyla ilgisi yoktur, bağlantı dizisine Pooling=false yazarsanız, bağlantı havuzu yoktur, bu tamamen . .NET optimizasyonu.
Aynı veritabanı bağlantısını birden fazla iş parçacığında kullanmanın sonuçlarını araştırmak Makale bağlantısı: http://www.th7.cn/Program/java/201503/415005.shtml
Özet: Çok iş parçacıklı bir ortamda, tek bir bağlantı kullanmak, bağlantı iş parçacığı güvenli işleme olmadan işlem karışıklığına yol açabilir.... JDBC işlemlerinin kullanımını etkiler...
|