首頁  >  文章  >  資料庫  >  mysql連線池是什麼

mysql連線池是什麼

青灯夜游
青灯夜游原創
2023-04-17 10:23:392963瀏覽

在mysql中,連接池就是在程式啟動時就創建一定數量的資料庫連接,將這些連接放入一個池子進行管理;由程式動態的進行連接的申請、使用和釋放。使用資料庫連接池的原因:1、資源重複使用,在減少系統資源消耗的基礎上,增加了系統運作的穩定性;2、更快的回應速度;統一的連線管理,避免資料庫連線洩漏。

mysql連線池是什麼

本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。

一、池化技術

#連接池是connection物件的緩衝區,它裡面會存放一些connection,當程式需要使用connection時,如果連線池中有,則直接從連線池取得,不需要再重新建立connection。連線池讓程式能夠重複使用連線。

池化技術能減少物件的創建次數,提高程式的回應效能,特別是在高並發場景下,效果更為明顯。當物件的建立需要大量的資源,導致創建時間長時,可以考慮使用池化技術進行緩存,以便後續重複使用。常見的池化元件有:記憶體池、執行緒池、連接池等等。

二、什麼是資料庫連接池

定義:資料庫連接池就是在程式啟動時就建立一定數量的資料庫連接,將這些連接放入一個池子進行管理。由程序動態的進行連接的申請、使用和釋放。注意,資料庫不單單指Mysql,同樣也可以為Redis設計連接池。

三、為什麼要使用資料庫連線池

  • #資源復用。避免了頻繁的創建、銷毀帶來的效能開銷,減少系統資源消耗的基礎上,增加了系統運行的穩定性,主要體現在減少記憶體碎片和執行緒或行程的臨時創建

  • 更快的反應速度。由於程式啟動時就準備好了若干連接備用,業務請求直接使用即可,不需要即時進行連接的創建、權限驗證及銷毀等操作,從而減少了系統的回應時間。

  • 統一的連線管理,避免資料庫連線洩漏。可預先設定連線佔用的逾時時間,假如某條連線被佔用超過設定值,可以強制回收該連線。

四、Mysql資料庫連線的建立程序

  • 用戶端啟動連線要求, TCP三次握手

  • Mysql內部權限驗證

  • #SQL執行語句

  • Mysql關閉


mysql連線池是什麼



# 斷開連接,TCP四次揮手

mysql連線池是什麼

#4.1 不採用連接池

    每次執行SQL語句,都需要建立一條連接,進行TCP三次握手、權限驗證、資料庫操作、資料庫使用者登出、四次揮手等操作
  • 優點
  • :實現簡單,不需要設計連接池;
  • 缺點

    :應用頻繁創建和銷毀臨時連接對象,導致大量內存碎片,另外,在連接關閉後還會出現大量的TIME_WAIT狀態。

4.2 採用連接池

程式在啟動時,便建立若干連接備用,每次SQL取得可用連線作業即可,嘎嘎快。

mysql連線池是什麼

  • 五、連接池的運作原理

從連接池獲取連接或建立連接;

###使用連接,用完歸還到連接池;###########在系統關閉前,關閉所有連接並且釋放資源#####################六、執行緒池與連線池關係###############一般執行緒池數量和連接池數量一致###,執行緒在使用完連接後歸還連接。 ######區別:#########執行緒池是主動去執行任務######連線池是被動使用,一個連線只能被一個執行緒申請並使用。 #########【相關推薦:###mysql影片教學###】###

以上是mysql連線池是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn