簡單闡述ADO.NET連接池觀點
#T#ADO.NET連接池經(jīng)過長時間的發(fā)展,很多用戶都很了解ADO.NET連接池了,這里我發(fā)表一個關(guā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)連接池
確保你每一次的連接使用相同的連接字符串(和連接池相同);只有連接字符串相同時連接池才會工作。如果連接字符串不相同,應(yīng)用程序就不會使用連接池而是創(chuàng)建一個新的連接。
ADO.NET連接池觀點之優(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é)省了時間。
ADO.NET連接池觀點之缺點分析
數(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)建連接池。