1. 程式人生 > >web———資料連線池的工作機制是什麼?

web———資料連線池的工作機制是什麼?

1.資料庫連線池屬於建立時間昂貴,並且數量有限的資源。如果每次執行sql時都建立新的連線,使用完即刻關閉連線,不僅會造成資源的浪費,而且在併發量大的情況下還會拖慢甚至拖垮資料庫。(測試得出結果單獨執行緒建立資料庫建立時間遠遠大於執行時間)

2. 因此需要使用連線池的概念:預先建立好一批資料庫連線放入池,每次執行sql時只需要從池中借取一個空閒的連線使用,使用完畢不再關閉連線,而將其還回連線池,以實現連線物件的重用。(例如飯館服務員與顧客的關係,10 個服務員服務所有顧客,不需要一個顧客服務一個顧客)

3. java中連線池被抽象為javax.sql.DataSource介面,一些java ee容器本身就提供了連線池的功能實現,也可以使用第三方的連線池實現,如c3p0,druid等。

總結:資料庫連線池的優點:

  • 資源重用,不用每次都建立新的連線,節省了大量時間,提高了響應速度。
  • 統一連線管理,避免資料庫連線洩露(每次用完連線,自動回收,連線池理論上不用關閉,減少了建立單個連線時要關閉資源的步驟。)
  • 高併發情況下,可以同時執行多個連線