紫衣仙女
TA貢獻1839條經(jīng)驗 獲得超15個贊
由于創(chuàng)建連接的代價是很高的, 我們每次訪問數(shù)據(jù)庫都重新創(chuàng)建連接的話是非常消耗性的.
我們可以再程序啟動的時候先創(chuàng)建出一些連接, 放在一個集合中, 訪問數(shù)據(jù)庫的時候從集合中獲取, 使用結(jié)束再放回集合中.
這樣做只是在程序啟動的時候消耗性能去創(chuàng)建連接, 每次訪問數(shù)據(jù)庫的時候都是從內(nèi)存中獲取連接, 可以大大提升效率.
注意事項:
由于池中增刪非常頻繁, 使用集合LinkedList效率較高
集合中所有連接都被占用時創(chuàng)建新連接, 但需要注意連接總數(shù)
使用組合模式/動態(tài)代理處理釋放連接的方法, 當(dāng)運行close方法時, 將連接放回池中
關(guān)于數(shù)據(jù)庫連接池:
數(shù)據(jù)庫連接是一種關(guān)鍵的有限的昂貴的資源,這一點在多用戶的網(wǎng)頁應(yīng)用程序中體現(xiàn)得尤為突出。對數(shù)據(jù)庫連接的管理能顯著影響到整個應(yīng)用程序的伸縮性和健壯性,影響到程序的性能指標(biāo)。數(shù)據(jù)庫連接池正是針對這個問題提出來的。
數(shù)據(jù)庫連接池負責(zé)分配、管理和釋放數(shù)據(jù)庫連接,它允許應(yīng)用程序重復(fù)使用一個現(xiàn)有的數(shù)據(jù)庫連接,而再不是重新建立一個;釋放空閑時間超過最大空閑時間的數(shù)據(jù)庫連接來避免因為沒有釋放數(shù)據(jù)庫連接而引起的數(shù)據(jù)庫連接遺漏。這項技術(shù)能明顯提高對數(shù)據(jù)庫操作的性能。
數(shù)據(jù)庫連接池在初始化時將創(chuàng)建一定數(shù)量的數(shù)據(jù)庫連接放到連接池中,這些數(shù)據(jù)庫連接的數(shù)量是由最小數(shù)據(jù)庫連接數(shù)來設(shè)定的。無論這些數(shù)據(jù)庫連接是否被 使用,連接池都將一直保證至少擁有這么多的連接數(shù)量。連接池的最大數(shù)據(jù)庫連接數(shù)量限定了這個連接池能占有的最大連接數(shù),當(dāng)應(yīng)用程序向連接池請求的連接數(shù)超 過最大連接數(shù)量時,這些請求將被加入到等待隊列中。
查看完整回答