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

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

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

前言

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

1. JDBC超時設置

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

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

2. 連接池超時設置

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

3. MyBatis查詢超時

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

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

4. 事務超時

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

總結

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

1. Transaction Timeout

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

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

2. Statement Timeout

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

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

3. Socket timeout

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

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

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

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

相關文章

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

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

    這篇文章主要給大家詳細介紹了 MySQL 如何高效可靠處理持久化數(shù)據(jù),文中有詳細的流程步驟和代碼示例,對我們的學習有一定的幫助,需要的朋友可以參考下
    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層負責連接、查詢緩存、分析、優(yōu)化和執(zhí)行,存儲引擎層負責數(shù)據(jù)存儲和提取,SQL查詢執(zhí)行流程包括連接、認證、權限檢查、分析、優(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的定義,顯示的結果都還是會有一些小格子,反而定義為gb2312,顯示完全正常
    2014-03-03
  • MySql 設置表格字段key中的值

    MySql 設置表格字段key中的值

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

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

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

    mysql常用命令匯總介紹

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

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

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

最新評論

古丈县| 新田县| 长沙县| 吴江市| 蓬安县| 银川市| 当涂县| 伊川县| 资溪县| 靖西县| 小金县| 鲁山县| 上蔡县| 璧山县| 东安县| 通化县| 兴隆县| 习水县| 扬中市| 文安县| 开阳县| 怀宁县| 镇沅| 六盘水市| 富平县| 甘谷县| 金川县| 黑山县| 清丰县| 林芝县| 元江| 信丰县| 鄯善县| 名山县| 枣强县| 洛宁县| 湄潭县| 陕西省| 平顺县| 长泰县| 资兴市|