iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL数据库超时设置配置的方法实例
  • 236
分享到

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

2024-04-02 19:04:59 236人浏览 安东尼
摘要

目录前言1. JDBC超时设置2. 连接池超时设置3. mybatis查询超时4. 事务超时总结前言 最近备战京东双11,在配置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中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就变得毫无意义,也无法生效。

到此这篇关于MySQL数据库超时设置配置的文章就介绍到这了,更多相关MySQL数据库超时设置配置内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL数据库超时设置配置的方法实例

本文链接: https://www.lsjlt.com/news/137942.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL数据库超时设置配置的方法实例
    目录前言1. JDBC超时设置2. 连接池超时设置3. MyBatis查询超时4. 事务超时总结前言 最近备战京东双11,在配置MySQL的超时配置发现有很多地方可以设置。这么多超时...
    99+
    2022-11-12
  • MySQL多实例数据库的安装及配置方法
    下面讲讲关于MySQL多实例数据库的安装及配置方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完MySQL多实例数据库的安装及配置方法这篇文章你一定会有所受益。一、MySQL多...
    99+
    2022-10-18
  • MySQL数据库入门之多实例配置方法详解
    本文实例讲述了MySQL数据库入门之多实例配置方法。分享给大家供大家参考,具体如下: 前面介绍了相关的基础命令操作:MySQL数据库基础篇之入门基础命令 所有的操作都是基于单实例的,mysql多实例在实际生产环境也是...
    99+
    2022-05-31
    MySQL 数据库 多实例配置
  • SpringBoot Java后端实现okhttp3超时设置的方法实例
    目录前言 导入 okhttp3方法简介 两种版本超时设置用法 总结前言 okhttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司开发。OkH...
    99+
    2022-11-12
  • MySQL数据库的同步配置方法
    本篇内容主要讲解“MySQL数据库的同步配置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库的同步配置方法”吧!   &n...
    99+
    2022-10-18
  • BootstrapTable请求数据时如何设置超时timeout方法
    这篇文章主要为大家展示了“BootstrapTable请求数据时如何设置超时timeout方法”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“BootstrapT...
    99+
    2022-10-19
  • Mysql数据库多实例配置的示例分析
    小编给大家分享一下Mysql数据库多实例配置的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!二进制安装: [root@lufengcentos ~]# mkdi...
    99+
    2022-10-19
  • mysql数据库对时间进行默认设置的方法
    mysql数据库对时间进行默认设置的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql数据库时间默认设置的方法:...
    99+
    2022-10-18
  • MySQL数据库时区的配置过程
    本篇内容主要讲解“MySQL数据库时区的配置过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库时区的配置过程”吧! ...
    99+
    2022-10-18
  • 设置MySQL数据库最安全的方法
    下面讲讲关于设置MySQL数据库最安全的方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完设置MySQL数据库最安全的方法这篇文章你一定会有所受益。    ...
    99+
    2022-10-18
  • MySQL外键设置的方法实例
    一、外键设置方法 1、在MySQL中,为了把2个表关联起来,会用到2个重要的功能:外键(FOREIGN KEY)和连接(JOIN)。外键需要在创建表的阶段定义,连接可以通过相同意义的...
    99+
    2022-11-12
  • hibernate 配置数据库方言的实现方法
    本文主要介绍了hibernate 配置数据库方言的实现方法,分享给大家,具体如下: RDBMS 方言 ...
    99+
    2022-11-12
  • 配置phpmyadmin连接远程mysql数据库的方法
    这篇文章主要介绍配置phpmyadmin连接远程mysql数据库的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!引言:1、phpmyadmin程序所在服务器:192.168.1....
    99+
    2022-10-18
  • MySQL数据库配置优化的方案
    数据库的操作越来越成为整个应用的性能瓶颈,这对于Web应用尤其明显。关于数据库的性能,这并不只是DBA需要关心的,而更是后端开发需要去关注的事情。 所以本文讲解mysql在各个方面的优化方向,方便后端开发人员在调优和问题...
    99+
    2023-02-17
    mysql优化方案 优化mysql方法 sql优化的几种方法
  • 如何进行MySQL数据库中的多实例配置
    今天就跟大家聊聊有关如何进行MySQL数据库中的多实例配置,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。MySQL数据库基础篇之入门基础命令所有的操...
    99+
    2022-10-19
  • 给mysql数据库设置外键的两种方法
    下面讲讲关于给mysql数据库设置外键的两种方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完给mysql数据库设置外键的两种方法这篇文章你一定会有所受益。1、在创建表时的操作...
    99+
    2022-10-18
  • 数据库设置主键的方法
    这篇文章主要介绍数据库设置主键的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据库如何设置主键?SQL 设置主键的方法打开【SQL Server Management Stud...
    99+
    2022-10-18
  • Redis数据库的安装配置方法
    redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,...
    99+
    2022-06-04
    数据库 方法 Redis
  • MYSQL数据库多实例的安装配置mysql_multi启停实战
    一、多实例的应用场景:1、资金紧张型公司的选择当公司业务访问量不太大,又舍不得花钱,但同时又希望不同业务的数据库服务各自独立,而且需要主从同步进行等技术提供备份或读写分离服务时,使用多实例是最好不过的。2、...
    99+
    2022-10-18
  • mysql数据设置不重复的方法
    mysql数据设置不重复的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql数据设置不重复的方法:首先使用nav...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作