内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

ADO.NET連接池優(yōu)缺點有哪些

這篇文章給大家分享的是有關(guān)ADO.NET連接池優(yōu)缺點有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

10年積累的成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有朝陽免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

ADO.NET中為了提高性能,所以使用了連接池,這樣每個請求就不必都創(chuàng)建一個連接,然后認證,然后執(zhí)行SQL,而是從連接池中直接取出連接執(zhí)行SQL,執(zhí)行完成后也并不是真正關(guān)閉連接,而是將該連接重新放回連接池中。如果有100個客戶端,每個客戶端在使用一段時間后連接池中保存了10個連接,那么在這種情況下,即使不在客戶端做任何操作,SQL Server上都有1000個連接,這樣不出性能問題才怪。

既然是ADO.NET連接池的問題,針對該問題的2個解決辦法:

1.關(guān)閉ADO.NET的連接池,每次執(zhí)行SQL時都是新建一個連接執(zhí)行,然后關(guān)閉。這樣做將使數(shù)據(jù)查詢有所減慢(每次都建立連接,每次都認證,當(dāng)然會慢了),不過這個慢是毫秒級的,一般感覺不到的,但是如果一個操作就涉及到幾百個SQL語句的情況可能會明細感覺到減慢。修改方法特別簡單,都不用修改代碼,在數(shù)據(jù)庫鏈接字符串中加入Pooling=False;即可。

2.修改架構(gòu),這種CS架構(gòu)除了性能問題外還會出現(xiàn)其他的比如安全上的問題??梢詫⒅苯舆B數(shù)據(jù)庫的方法改成連接服務(wù),這其中可以使用Remoting、Web服務(wù)等,當(dāng)然現(xiàn)在可以統(tǒng)一用WCF了。這樣做就只有服務(wù)程序去連接數(shù)據(jù)庫,而客戶端只連接服務(wù)程序,這樣就不會出現(xiàn)連接池造成的瓶頸。不過這樣做代碼修改量很大,若真要改還是很痛苦的。

介紹ADO.NET連接池

連接池允許應(yīng)用程序從連接池中獲得一個連接并使用這個連接,而不需要為每一個連接請求重新建立一個連接。一旦一個新的連接被創(chuàng)建并且放置在連接池中,應(yīng)用程序就可以重復(fù)使用這個連接而不必實施整個數(shù)據(jù)庫連接創(chuàng)建過程。

當(dāng)應(yīng)用程序請求一個連接時,連接池為該應(yīng)用程序分配一個連接而不是重新建立一個連接;當(dāng)應(yīng)用程序使用完連接后,該連接被歸還給連接池而不是直接釋放。

如何實現(xiàn)ADO.NET連接池

確保你每一次的連接使用相同的連接字符串(和連接池相同);只有連接字符串相同時連接池才會工作。如果連接字符串不相同,應(yīng)用程序就不會使用連接池而是創(chuàng)建一個新的連接。

優(yōu)點

使用連接池的最主要的優(yōu)點是性能。創(chuàng)建一個新的數(shù)據(jù)庫連接所耗費的時間主要取決于網(wǎng)絡(luò)的速度以及應(yīng)用程序和數(shù)據(jù)庫服務(wù)器的(網(wǎng)絡(luò))距離,而且這個過程通常是一個很耗時的過程。而采用數(shù)據(jù)庫連接池后,數(shù)據(jù)庫連接請求可以直接通過連接池滿足而不需要為該請求重新連接、認證到數(shù)據(jù)庫服務(wù)器,這樣就節(jié)省了時間。

缺點

數(shù)據(jù)庫連接池中可能存在著多個沒有被使用的連接一直連接著數(shù)據(jù)庫(這意味著資源的浪費)。

技巧和提示

1. 當(dāng)你需要數(shù)據(jù)庫連接時才去創(chuàng)建連接池,而不是提前建立。一旦你使用完連接立即關(guān)閉它,不要等到垃圾收集器來處理它。

2. 在關(guān)閉數(shù)據(jù)庫連接前確保關(guān)閉了所有用戶定義的事務(wù)。

3. 不要關(guān)閉數(shù)據(jù)庫中所有的連接,至少保證連接池中有一個連接可用。如果內(nèi)存和其他資源是你必須首先考慮的問題,可以關(guān)閉所有的連接,然后在下一個請求到來時創(chuàng)建連接池。

Console.WriteLine("ReturnValue: {0}", rowCount.ToString())  Console.WriteLine("All Rows:")  Dim row As DataRow  For Each row In categories.Rows  Console.WriteLine("{0}: {1}", row(0), row(1))  Next  End Using  End Sub

感謝各位的閱讀!關(guān)于“ADO.NET連接池優(yōu)缺點有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

分享文章:ADO.NET連接池優(yōu)缺點有哪些
網(wǎng)站鏈接:http://www.rwnh.cn/article16/jsdsgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站設(shè)計、網(wǎng)站策劃、定制開發(fā)、搜索引擎優(yōu)化、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司
三门县| 正镶白旗| 舟曲县| 五大连池市| 贵港市| 温泉县| 谷城县| 阿城市| 平山县| 桐梓县| 巴林左旗| 绥棱县| 青铜峡市| 观塘区| 合肥市| 桃园市| 多伦县| 宜黄县| 正安县| 平和县| 上杭县| 天祝| 吴江市| 江川县| 大洼县| 北安市| 外汇| 苗栗市| 色达县| 澄城县| 理塘县| 武鸣县| 札达县| 延长县| 石首市| 江川县| 桐庐县| 钦州市| 讷河市| 乾安县| 中宁县|