獲取一個數(shù)據(jù)庫的多個conn,操作同一個表的數(shù)據(jù),若其中一個conn.commit,會對別的conn數(shù)據(jù)操作有影響嗎?
1 回答

溫溫醬
TA貢獻1752條經驗 獲得超4個贊
不用數(shù)據(jù)庫連接池,而由程序去操作conn,其每次操作完后都需要commit,當你的應用中有并發(fā)寫操作時會有一定的影響,一般都是交給數(shù)據(jù)庫連接池,,它會在一開始初始化一定量的連接實例,當你需要用時它會自動分配去處理。
由于創(chuàng)建連接的代價是很高的, 我們每次訪問數(shù)據(jù)庫都重新創(chuàng)建連接的話是非常消耗性的.
我們可以再程序啟動的時候先創(chuàng)建出一些連接, 放在一個集合中, 訪問數(shù)據(jù)庫的時候從集合中獲取, 使用結束再放回集合中.
這樣做只是在程序啟動的時候消耗性能去創(chuàng)建連接, 每次訪問數(shù)據(jù)庫的時候都是從內存中獲取連接, 可以大大提升效率.
注意事項:
由于池中增刪非常頻繁, 使用集合LinkedList效率較高
集合中所有連接都被占用時創(chuàng)建新連接, 但需要注意連接總數(shù)
使用組合模式/動態(tài)代理處理釋放連接的方法, 當運行close方法時, 將連接放回池中
添加回答
舉報
0/150
提交
取消