在mysql中,連接池就是在程式啟動時就創建一定數量的資料庫連接,將這些連接放入一個池子進行管理;由程式動態的進行連接的申請、使用和釋放。使用資料庫連接池的原因:1、資源重複使用,在減少系統資源消耗的基礎上,增加了系統運作的穩定性;2、更快的回應速度;統一的連線管理,避免資料庫連線洩漏。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
#連接池是connection物件的緩衝區,它裡面會存放一些connection,當程式需要使用connection時,如果連線池中有,則直接從連線池取得,不需要再重新建立connection。連線池讓程式能夠重複使用連線。
池化技術能減少物件的創建次數,提高程式的回應效能,特別是在高並發場景下,效果更為明顯。當物件的建立需要大量的資源,導致創建時間長時,可以考慮使用池化技術進行緩存,以便後續重複使用。常見的池化元件有:記憶體池、執行緒池、連接池等等。
定義:資料庫連接池就是在程式啟動時就建立一定數量的資料庫連接,將這些連接放入一個池子進行管理。由程序動態的進行連接的申請、使用和釋放。注意,資料庫不單單指Mysql,同樣也可以為Redis設計連接池。
#資源復用。避免了頻繁的創建、銷毀帶來的效能開銷,減少系統資源消耗的基礎上,增加了系統運行的穩定性,主要體現在減少記憶體碎片和執行緒或行程的臨時創建。
更快的反應速度。由於程式啟動時就準備好了若干連接備用,業務請求直接使用即可,不需要即時進行連接的創建、權限驗證及銷毀等操作,從而減少了系統的回應時間。
統一的連線管理,避免資料庫連線洩漏。可預先設定連線佔用的逾時時間,假如某條連線被佔用超過設定值,可以強制回收該連線。
用戶端啟動連線要求, TCP三次握手
Mysql內部權限驗證
#SQL執行語句
Mysql關閉
缺點
:應用頻繁創建和銷毀臨時連接對象,導致大量內存碎片,另外,在連接關閉後還會出現大量的TIME_WAIT狀態。
以上是mysql連線池是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!