开发者社区> 问答> 正文

select or (insert/delete/update)会重试吗,比如网络断了,数据库sto

重试? select ? insert/delete/update ? 执行类似语句会重试吗?具体实现代码在哪?贴一下~

还是wait住,直到timeout?

原提问者GitHub用户gMan1990

展开
收起
山海行 2023-07-05 19:45:29 49 0
3 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    select/insert/delete/update语句不会自动重试。如果语句执行失败,一般不会自动重试,需要程序代码进行处理。

    主要的失败原因包括:

    网络问题,连接断开。
    数据库宕机。
    语句执行时间过长,超时。
    这种失败通常需要在程序代码中进行处理:

    捕获异常,判断是否需要重试。
    等待一定时间后进行重试。
    重试若干次后才放弃。

    2023-07-30 15:46:25
    赞同 展开评论 打赏
  • Druid连接池的具体实现代码位于com.alibaba.druid.pool.DruidDataSource类中。在执行SQL操作时,Druid会将请求传递给java.sql.Connection对象进行处理。如果在执行过程中发生异常,Druid连接池会将异常直接抛出。

    2023-07-11 09:48:13
    赞同 展开评论 打赏
  • 不会重试,直到timeout

    原回答者GitHub用户wenshao

    2023-07-06 11:06:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载