最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)庫超時(shí)設(shè)置配置的方法實(shí)例

 更新時(shí)間:2021年10月13日 10:18:03   作者:張松然  
這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫超時(shí)設(shè)置配置的相關(guān)資料,通過文中的設(shè)置方法可以很好的解決大家遇到的mysql數(shù)據(jù)庫超時(shí)問題,需要的朋友可以參考下

前言

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

1. JDBC超時(shí)設(shè)置

connectTimeout:表示等待和MySQL數(shù)據(jù)庫建立socket鏈接的超時(shí)時(shí)間,默認(rèn)值0,表示不設(shè)置超時(shí),單位毫秒,建議30000

socketTimeout:表示客戶端和MySQL數(shù)據(jù)庫建立socket后,讀寫socket時(shí)的等待的超時(shí)時(shí)間,linux系統(tǒng)默認(rèn)的socketTimeout為30分鐘,可以不設(shè)置

2. 連接池超時(shí)設(shè)置

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

3. MyBatis查詢超時(shí)

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

如果一些sql需要執(zhí)行超過defaultStatementTimeout可以通過Mapper文件單獨(dú)的sql的timeout進(jìn)行配置

4. 事務(wù)超時(shí)

事務(wù)超時(shí)用于控制事務(wù)執(zhí)行的超時(shí),執(zhí)行時(shí)間是事務(wù)內(nèi)所有代碼執(zhí)行總和,單位為秒。

總結(jié)

高級別的timeout依賴于低級別的timeout,只有當(dāng)?shù)图墑e的timeout無誤時(shí),高級別的timeout才能確保正常。例如,當(dāng)socket timeout出現(xiàn)問題時(shí),高級別的statement timeout和transaction timeout都將失效。

1. Transaction Timeout

Spring提供的transaction timeout配置非常簡單,它會記錄每個(gè)事務(wù)的開始時(shí)間和消耗時(shí)間,當(dāng)特定的事件發(fā)生時(shí)就會對消耗時(shí)間做校驗(yàn),當(dāng)超出timeout值時(shí)將拋出異常。

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

2. Statement Timeout

statement timeout用來限制statement的執(zhí)行時(shí)長,timeout的值通過調(diào)用JDBC的java.sql.Statement.setQueryTimeout(int timeout) API進(jìn)行設(shè)置。不過現(xiàn)在開發(fā)者已經(jīng)很少直接在代碼中設(shè)置,而多是通過框架來進(jìn)行設(shè)置。

在iBatis中,statement timeout的默認(rèn)值可以通過sql-map-config.xml中的defaultStatementTimeout 屬性進(jìn)行設(shè)置。同時(shí),你還可以設(shè)置sqlmap中select,insert,update標(biāo)簽的timeout屬性,從而對不同sql語句的超時(shí)時(shí)間進(jìn)行獨(dú)立的配置。

3. Socket timeout

JDBC的socket timeout在數(shù)據(jù)庫被突然停掉或是發(fā)生網(wǎng)絡(luò)錯(cuò)誤(由于設(shè)備故障等原因)時(shí)十分重要。由于TCP/IP的結(jié)構(gòu)原因,socket沒有辦法探測到網(wǎng)絡(luò)錯(cuò)誤,因此應(yīng)用也無法主動(dòng)發(fā)現(xiàn)數(shù)據(jù)庫連接斷開。如果沒有設(shè)置socket timeout的話,應(yīng)用在數(shù)據(jù)庫返回結(jié)果前會無期限地等下去,這種連接被稱為dead connection。

為了避免dead connections,socket必須要有超時(shí)配置。socket timeout可以通過JDBC設(shè)置,socket timeout能夠避免應(yīng)用在發(fā)生網(wǎng)絡(luò)錯(cuò)誤時(shí)產(chǎn)生無休止等待的情況,縮短服務(wù)失效的時(shí)間。

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

到此這篇關(guān)于MySQL數(shù)據(jù)庫超時(shí)設(shè)置配置的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫超時(shí)設(shè)置配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL高效可靠處理持久化數(shù)據(jù)的教程指南

    MySQL高效可靠處理持久化數(shù)據(jù)的教程指南

    這篇文章主要給大家詳細(xì)介紹了 MySQL 如何高效可靠處理持久化數(shù)據(jù),文中有詳細(xì)的流程步驟和代碼示例,對我們的學(xué)習(xí)有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • Mysql 5.7.17忘記密碼怎么辦

    Mysql 5.7.17忘記密碼怎么辦

    這篇文章主要介紹了Mysql 5.7.17忘記密碼的解決方法,需要的朋友可以參考下
    2017-03-03
  • mysql如何執(zhí)行流程

    mysql如何執(zhí)行流程

    MySQL主要分為server層和存儲引擎層,server層負(fù)責(zé)連接、查詢緩存、分析、優(yōu)化和執(zhí)行,存儲引擎層負(fù)責(zé)數(shù)據(jù)存儲和提取,SQL查詢執(zhí)行流程包括連接、認(rèn)證、權(quán)限檢查、分析、優(yōu)化和執(zhí)行,更新語句執(zhí)行涉及重做日志(redolog)和歸檔日志(binlog)
    2024-11-11
  • GROUP_CONCAT的用法

    GROUP_CONCAT的用法

    GROUP_CONCAT的用法...
    2006-12-12
  • Ubuntu15下mysql5.6.25不支持中文的解決辦法

    Ubuntu15下mysql5.6.25不支持中文的解決辦法

    Ubuntu15下mysql5.6.25出現(xiàn)亂碼,不支持中文,該問題如何解決呢?下面看看小編是怎么解決此問題的,需要的朋友可以參考下
    2015-09-09
  • asp+mysql+utf8 網(wǎng)頁出現(xiàn)亂碼問題的解決方法

    asp+mysql+utf8 網(wǎng)頁出現(xiàn)亂碼問題的解決方法

    無論在網(wǎng)頁中加多少UTF8的定義,顯示的結(jié)果都還是會有一些小格子,反而定義為gb2312,顯示完全正常
    2014-03-03
  • MySql 設(shè)置表格字段key中的值

    MySql 設(shè)置表格字段key中的值

    本文主要介紹了MySql 設(shè)置表格字段key中的值,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Mysql數(shù)據(jù)庫亂碼問題的對應(yīng)方式

    Mysql數(shù)據(jù)庫亂碼問題的對應(yīng)方式

    今天小編就為大家分享一篇關(guān)于Mysql數(shù)據(jù)庫亂碼問題的對應(yīng)方式,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • mysql常用命令匯總介紹

    mysql常用命令匯總介紹

    本文給大家匯總了一下mysql常用的命令行指令,包括設(shè)置更改mysqlroot密碼,連接mysql等,非常的細(xì)致全面,并附上運(yùn)行效果截圖,希望大家能夠喜歡
    2018-03-03
  • MySQL復(fù)合查詢(多表查詢、子查詢)的實(shí)現(xiàn)

    MySQL復(fù)合查詢(多表查詢、子查詢)的實(shí)現(xiàn)

    MySQL復(fù)合查詢是指在一個(gè)SQL語句中使用多個(gè)查詢條件,以過濾和檢索數(shù)據(jù),本文主要介紹了MySQL復(fù)合查詢(多表查詢、子查詢)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12

最新評論

莱芜市| 邢台市| 白城市| 雅安市| 苍梧县| 峨眉山市| 巫溪县| 钟祥市| 兴安盟| 南江县| 广宁县| 弋阳县| 酉阳| 蛟河市| 井研县| 巴林左旗| 潮州市| 达州市| 德令哈市| 安泽县| 正镶白旗| 巨野县| 大安市| 呼和浩特市| 闻喜县| 盐津县| 平乡县| 凤山市| 乐东| 新化县| 诸暨市| 招远市| 博野县| 龙州县| 凉山| 广元市| 固安县| 林口县| 曲水县| 淅川县| 晴隆县|