欧博网站
热门标签

瑞火体育怎么样博彩平台群 | 记一次数据库查询超时优化问题

时间:2023-10-30 07:27    点击次数:157
皇冠客服飞机:@seo3687瑞火体育怎么样博彩平台群[[428834]]

本文转载自微信公众号「潜行前行」,作家cscw 。转载本文请干系潜行前行众号。

魅力 问题发现 在七月份时,平凡发现存几个定时任务报错,检验了下异常原因,粗略定位是数据库推论异常。
### 欧宝体育app·官方入口Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Unsupported command ### The error may exist in class path resource [mapper/XXXXXXXXX-Mapper.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: select t3.cino, t2.sn as orderSn,             t2.provider_id as providerId,             t4.logistics_no as logisticsSn,             t2.`name`,       ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Unsupported command ; Unsupported command; nested exception is com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Unsupported command org.springframework.dao.DataAccessResourceFailureException:  ### Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Unsupported command ### The error may exist in class path resource [mapper/XXXXXXXXXOMapper.xml] ### The error may involve defaultParameterMap ### The error occurred while setting parameters ### SQL: select t3.cino, t2.sn as orderSn,             t2.provider_id as providerId,             t4.logistics_no as logisticsSn,          ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Unsupported command 
排查原因 1 和 DBA 排查 mycat(公司使用 mycat ) 和 mysql 的特殊日记。发现是诳骗奇迹这边会给 MyCat 发送一个 KILL QUERY 大叫,而 myCat 不赞成该 KILL QUERY 大叫。才给诳骗奇迹复返了 Unsupported command 异常特殊
2021-07-02 10:46:33.567  WARN [$_NIOREACTOR-37-RW] (io.mycat.server.ServerQueryHandler.query(ServerQueryHandler.java:96)) - Unsupported command:KILL QUERY 2956587 
2 上网搜索了下 KILL QUERY 发生的场景,在一篇著作 ?深远分析JDBC超时机制 找到问题所在,sql 推论超时,jdbc 会向 mysql 奇迹发送一个kill 大叫,从而让 mysql 罢手 sql 推论。不听说给了 mycat 奇迹,mycat 莫得处理该大叫,而是胜仗报错复返 3 检验了下诳骗奇迹的成立,在 jdbc:url 合股成立的 mysql socket 推论超不技术是 15s。而在 mybatis 单独的 sql 推论语句成立的开辟更长,是 20s(珍贵这里的成立是 xml 加 注解的容貌) 3.1 mybatis xml里的 sql 语句我单独在客户端推论,测试的 sql 推论技术粗略在 6,7 秒傍边,是不会逾越 15s 这个实现的,然则从定时任务调过活记看,每次任务总体上就推论了 8 秒傍边,诠释 mycat 如实是在15秒内收到超时 KILL 大叫,从而导致sql 推论失败

国家发改委表示,国家高度关注生猪市场价格变化,将持续加强生猪产能和价格调控,促进生猪市场平稳运行。

4 念念着是不是在其他所在成立超时。细看了下 mybatis 的成立,还真有一个合股 sql 超时成立,default-statement-timeout = 5

zh皇冠备用网址 从mybatis 源码文档上看,单独开辟的 mybatis @Options timeout属性是会粉饰掉在 yml 成立的 default-statement-timeout属性的。难谈是 @Options 没收效 ?

5 因此决定土产货调试一波。发现 @Options 还竟然没收效,jdbc的 queryTimeout 取值的是 mybatis在yml的 全局成立

博彩平台群 处分问题 上头提到, sql 的 statment 搀和使用了 mybatis 的注解和xml搀和使用。揣度应该是 mybatis 的 注解和xml 使用容貌是不兼容的。因此试着在 xml 的 statment 修改了 timeout成立。开辟 timeout = 60。发现 成立收效了,如下图图片:

瑞火体育怎么样

背面也试着将 sql 摒弃到 mybatis 的 @Select 注解,去掉 xml 的 statement。@Options 的成立亦然不错收效的。mybatis 的@Options 和 xml 是无法同期收效的,可能 mybatis 其他的注解同样和 xml 成立不可同期收效,但愿读者以后能逃匿这个坑。

太平洋官网据报道,某地区一家赌场近期开放新游戏模式,吸引众多玩家参与。该模式采用先进设备,游戏体验更加刺激,同时赌场带来收益。 Transaction Timeout、Statement Timeout、Socket timeout 的分离 上头 mybatis 成立的 timeout 其实等于Statement Timeout。还有等于在jdbc:url 成立的socketTimeout;其实还有是spring界说的一个事务超时:Transaction Timeout。

它们三者的关系是在怎样的呢

Statement Timeout

statement timeout 是用来实现一条语句 statement 的推论时长,可通过调用JDBC的java.sql.Statement.setQueryTimeout(int timeout) 进行开辟,不外一般是通过ORM框架来进行开辟 在 myBatis中,statement timeout 的默许值是通过 defaultStatementTimeout 属性进行开辟。同期还不错在 xml 中 select,insert,update标签开辟timeout属性,从而对不同 sql 语句成立超不技术

Transaction Timeout

www.imperialsportspro.com新葡京官网 Spring 提供的 transaction timeout 成立也超过浅易,它会记载每个事务的运转技术和滥用技术,当超出timeout值时将抛出异常。 假定某个事务中包含 3 个statement,每个statement的推论技术是 100ms,其他业务逻辑的推论技术是 50ms,那么transaction timeout至少应该开辟为350ms(100 * 3 + 50)

Socket timeout

JDBC的 socket timeout 在数据库被倏得停掉或是发生收罗特殊时十分要害。由于TCP/IP的结构原因,socket莫得目的探伤到收罗特殊,因此诳骗也无法主动发现数据库相接断开。若是没开辟 socket timeout 的话,诳骗在数据库复返后果前会无期限地等下去,这种相接被称为 dead connection

优先级规定

Socket timeout 级别优于 Transaction Timeout,而Transaction Timeout 级别优于 Statement Timeout。也等于说若是 Statement Timeout 大于 Transaction Timeout 或者 Socket timeout,则无法收效 不推选使用socket timeout来实现statement的推论时长,因此socket timeout的值必须要高于statement timeout,不然,socket timeout将会先收效,这么statement timeout就变得毫无道理

参考著作

深远分析JDBC超时机制 

威尼斯娱乐场澳门地址皇冠信用盘如何开户

如何成立MySQL数据库超时开辟

皇冠体育

 



上一篇:彩票体育博彩平台开奖记录查询_一篇学会Hadoop3数据容错技艺
下一篇:巴塞罗那足球俱乐部博彩平台评测 | 1-0绝杀!国米重返意甲榜首,现场7万球迷狂欢,卢卡库反戈旧主失败

网友评论