国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

連接池技術ConnectionPooling

2019-11-14 16:41:28
字體:
來源:轉載
供稿:網友

 

原創地址:http://www.survivalescaperooms.com/jfzhu/p/3705703.html

轉載請注明出處

 

數據庫建立一個物理連接是一個很耗時的任務,所以無論是ADO.NET還是J2EE都提供了一個連接池的技術。

 

一個池其實就是一個列表。在ADO.NET中,有一個Connection Manager,它對每一個connection string都管理著一個可用連接的列表,這個列表就是Connection Pool。

 

當第一次數據庫連接被初始化時,connection manager會創建一個Connection Pool Group。當第一次連接被打開的時候,才會創建第一個connection pool。一個連接正在被使用中,就會從connection pool中移除;如果使用完(被close或dispose),就會再返回到connection pool中去,以待下一個連接請求使用,所以我們要清楚一個概念,close connection的動作只是關閉了邏輯連接,但并沒有關閉物理連接。

 

在ADO.NET中,默認情況下,一個連接返回到connection pool中,會有4到8分鐘的空閑時間,超過這個時間,就會關閉物理連接。如果你的程序有很長時間的空閑時間,你應該確保至少有一個可用的數據庫連接,可以通過設置Min Pool Size為1來實現。

 

另外決定是否一個連接使用的是相同connection string的決定性參數為以下幾個:

  • Connection Timeout
  • Min Pool Size
  • Max Pool Size
  • Pooling
  • Connection Reset
  • Load Balancing Timeout(Connection Lifetime)
  • Enlist

每當Connection Manager收到一個新的數據庫連接請求時,它就會走下面的流程:

 

最后Entity Framework會幫你管理connection pool,所以不用擔心數據庫連接的效率問題。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长白| 额尔古纳市| 安丘市| 海伦市| 榆中县| 响水县| 琼结县| 盐城市| 冷水江市| 长沙县| 五常市| 孝感市| 迭部县| 焉耆| 理塘县| 兴业县| 济阳县| 双辽市| 宁武县| 壶关县| 郁南县| 博爱县| 乌鲁木齐县| 彰化市| 三门县| 四会市| 和龙市| 长白| 公主岭市| 绥江县| 琼结县| 当阳市| 万安县| 武平县| 平山县| 腾冲县| 文山县| 宜良县| 峨边| 手游| 丹东市|