日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

常見的生產應用中我們一般都是用數據庫連接池來做MySQL連接管理,因為它非常方便,不需要我們手動處理連接,只需要在使用的時候取出一個連接,使用完成之后自動被連接池托管。那我們取出一個連接直接使用的時候,連接池如何做到連接保活的?

那為了解決這個問題,一般都是采用心跳的方式,常見的有以下兩種:

1.ping模式

作為客戶端,如果想保持自己的連接一直活著,那么就發送ping命令,這樣MySQL服務端收到這個命令之后回復:mysqld is alive就代表MySQL服務端是存活的,同時對于MySQL來說它接收到了客戶端的ping命令,那就代表客戶端還活著,此時MySQL就不應該斷開這個連接。

2.select模式

常見的有以下兩種:

select 1;
select version();

這種方式的好處就是像執行SQL語句那樣執行,非常方便。

3. 區別

ping模式select模式到底有什么區別呢?

  1. ping模式不會進行復雜的詞法分析,語法分析等,直接快速進行命令響應處理。select模式會經過一系列mysql sql執行的步驟,最后還得執行慢查詢,事務提交等,這個過程下來耗費的時間比較長。
  2. ping模式只能用MySQL提供的API或者mysqladmin工具才能發送ping命令到MySQL服務端。而select模式是可以通過MySQL API或者MySQL交互式終端都能執行select查詢。

4. 推薦

因為ping模式執行速度快,對于追求性能的程序推薦使用這種模式。另外在使用select模式的時候,推薦優先使用select 1這種查詢。

常見的生產項目,比如用druid來管理的數據源,一般都是用select version()來做心跳保活的。

5. 問題

select version()這種方式有一個缺點就是當連接因為配置不恰當導致被MySQL服務端中斷,那么客戶端在執行這條SQL語句的時候就會報錯,這樣會影響程序執行效率。因此保活的前提一定是配置正確的前提下,這個一定要在本地或者測試環境測試好。

分享到:
標簽:MySQL
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定