成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何配置MySQL數據庫超時設置

大數據 數據庫 MySQL
最近備戰京東雙11,在配置MySQL的超時配置發現有很多地方可以設置。這么多超時的配置有什么影響,以及配置會有什么影響呢?今天的文章就讓我來大家來分析一下。

[[207618]]

最近備戰京東雙11,在配置MySQL的超時配置發現有很多地方可以設置。這么多超時的配置有什么影響,以及配置會有什么影響呢?今天的文章就讓我來大家來分析一下。

1. JDBC超時設置

connectTimeout:表示等待和MySQL數據庫建立socket鏈接的超時時間,默認值0,表示不設置超時,單位毫秒,建議30000

socketTimeout:表示客戶端和MySQL數據庫建立socket后,讀寫socket時的等待的超時時間,linux系統默認的socketTimeout為30分鐘,可以不設置

2. 連接池超時設置

maxWait:表示從數據庫連接池取鏈接,連接池沒有可用連接時的等待時間,默認值0,表示無限等待,單位毫秒,建議60000

3. MyBatis查詢超時

defaultStatementTimeout:表示在MyBatis配置文件中默認查詢超時間,單位秒,不設置則無線等待

如果一些sql需要執行超過defaultStatementTimeout可以通過Mapper文件單獨的sql的timeout進行配置

MyBatis查詢超時

4. 事務超時

事務超時用于控制事務執行的超時,執行時間是事務內所有代碼執行總和,單位為秒。

事務超時

總結

高級別的timeout依賴于低級別的timeout,只有當低級別的timeout無誤時,高級別的timeout才能確保正常。例如,當socket timeout出現問題時,高級別的statement timeout和transaction timeout都將失效。

1. Transaction Timeout

Spring提供的transaction timeout配置非常簡單,它會記錄每個事務的開始時間和消耗時間,當特定的事件發生時就會對消耗時間做校驗,當超出timeout值時將拋出異常。

假設某個事務中包含5個statement,每個statement的執行時間是200ms,其他業務邏輯的執行時間是100ms,那么transaction timeout至少應該設置為1,100ms(200 * 5 + 100)。

2. Statement Timeout

statement timeout用來限制statement的執行時長,timeout的值通過調用JDBC的java.sql.Statement.setQueryTimeout(int timeout) API進行設置。不過現在開發者已經很少直接在代碼中設置,而多是通過框架來進行設置。

在iBatis中,statement timeout的默認值可以通過sql-map-config.xml中的defaultStatementTimeout 屬性進行設置。同時,你還可以設置sqlmap中select,insert,update標簽的timeout屬性,從而對不同sql語句的超時時間進行獨立的配置。

3. Socket timeout

JDBC的socket timeout在數據庫被突然停掉或是發生網絡錯誤(由于設備故障等原因)時十分重要。由于TCP/IP的結構原因,socket沒有辦法探測到網絡錯誤,因此應用也無法主動發現數據庫連接斷開。如果沒有設置socket timeout的話,應用在數據庫返回結果前會無期限地等下去,這種連接被稱為dead connection。

為了避免dead connections,socket必須要有超時配置。socket timeout可以通過JDBC設置,socket timeout能夠避免應用在發生網絡錯誤時產生無休止等待的情況,縮短服務失效的時間。

不推薦使用socket timeout來限制statement的執行時長,因此socket timeout的值必須要高于statement timeout,否則,socket timeout將會先生效,這樣statement timeout就變得毫無意義,也無法生效。

責任編輯:趙寧寧 來源: 36大數據
相關推薦

2011-03-24 14:59:42

2009-03-24 10:45:39

MySQL5連接超時數據庫

2010-04-19 16:01:54

2011-05-16 14:07:12

MySQL數據庫設置密碼

2021-12-13 22:59:23

MySQL數據庫SQL

2011-04-14 11:09:14

MySQL數據庫

2015-10-22 16:26:59

MySQL數據庫雙主配置

2011-02-28 15:45:12

2011-04-06 09:59:00

MySQL數據庫主從復制

2010-06-01 16:35:43

MySQL數據庫

2011-03-07 09:26:37

2019-10-12 16:15:13

MySQL數據庫多實例

2010-06-01 12:51:23

MySQL數據庫

2009-02-02 13:16:23

修復數據表MySQL

2011-05-18 13:16:21

MySQL數據庫鎖定

2011-03-21 17:00:23

MySQL數據庫

2018-09-11 17:13:23

MySQ數據庫重復記錄

2010-05-28 18:44:45

2010-06-09 10:47:36

MySQL數據庫集群

2009-06-16 09:25:31

JBoss配置
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品超碰 | 国产99在线 | 欧美 | 一区二区三区在线免费观看视频 | 国产欧美精品区一区二区三区 | 国产高清美女一级a毛片久久w | 日韩伦理一区二区 | 欧美一区二区三区在线观看视频 | 久久精品欧美一区二区三区麻豆 | 免费国产一区 | 欧美爱爱视频 | 日本特黄a级高清免费大片 成年人黄色小视频 | 91免费视频 | 91精品久久久久久久久中文字幕 | 国产片一区二区三区 | 亚洲最大的黄色网址 | 欧美在线一区二区三区 | 日本久久久一区二区三区 | 亚洲精品国产综合区久久久久久久 | 欧美不卡一区二区 | 亚洲精品视频免费观看 | 久热久| 日本一区二区不卡视频 | 欧美日韩精品一区二区三区四区 | 我要看免费一级毛片 | 久久中文字幕一区 | 日韩av大片免费看 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 色偷偷人人澡人人爽人人模 | 亚州精品天堂中文字幕 | 91国内精品久久 | 免费成人在线网站 | 国产1区2区| 色偷偷888欧美精品久久久 | 亚洲一区欧美一区 | 欧美精品综合在线 | 国产成人免费 | 久久激情网 | 亚洲成人午夜在线 | 国产精品一区二区三区在线 | 欧美日韩一区在线观看 | 色偷偷人人澡人人爽人人模 |