纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

MySQL数据库超时设置配置 MySQL数据库超时设置配置的方法实例

张松然   2021-10-13 我要评论
想了解MySQL数据库超时设置配置的方法实例的相关内容吗张松然在本文为您仔细讲解MySQL数据库超时设置配置的相关知识和一些Code实例欢迎阅读和指正我们先划重点:mysql超时时间设置,mysql数据库连接超时原因,mysql数据库超时设置下面大家一起来学习吧。

前言

最近备战京东双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进行配置

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中selectinsertupdate标签的timeout属性从而对不同sql语句的超时时间进行独立的配置。

3. Socket timeout

JDBC的socket timeout在数据库被突然停掉或是发生网络错误(由于设备故障等原因)时十分重要。由于TCP/IP的结构原因socket没有办法探测到网络错误因此应用也无法主动发现数据库连接断开。如果没有设置socket timeout的话应用在数据库返回结果前会无期限地等下去这种连接被称为dead connection。

为了避免dead connectionssocket必须要有超时配置。socket timeout可以通过JDBC设置socket timeout能够避免应用在发生网络错误时产生无休止等待的情况缩短服务失效的时间。

不推荐使用socket timeout来限制statement的执行时长因此socket timeout的值必须要高于statement timeout否则socket timeout将会先生效这样statement timeout就变得毫无意义也无法生效。


相关文章

猜您喜欢

  • java检查和未检查异常处理 java基础检查和未检查异常处理详解

    想了解java基础检查和未检查异常处理详解的相关内容吗guoyp2126在本文为您仔细讲解java检查和未检查异常处理的相关知识和一些Code实例欢迎阅读和指正我们先划重点:java基础,java检查和未检查异常处理,java异常处理下面大家一起来学习吧。..
  • 编译pjsip源码 教你编译pjsip源码的方法

    想了解教你编译pjsip源码的方法的相关内容吗Mike_Zhang在本文为您仔细讲解编译pjsip源码的相关知识和一些Code实例欢迎阅读和指正我们先划重点:编译pjsip源码,编译pjsip下面大家一起来学习吧。..

网友评论

Copyright 2020 www.Musicdownload3mp.com 【飞音下载站】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式