开发者社区> 问答> 正文

druid会发了kill命令吗?

如果SQL太慢了(比如查询速度很慢), druid会发了个kill命令杀掉吗? 如果有,如何设置这个时间?

原提问者GitHub用户guozhouwei

展开
收起
山海行 2023-07-05 21:06:58 63 0
2 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    Druid连接池本身不会向数据库发送kill命令来终止执行缓慢或者长时间运行的SQL语句,因为这样可能会导致数据不一致或者事务回滚等问题。如果需要终止执行缓慢或者长时间运行的SQL语句,建议通过数据库管理工具或者其他方式手动执行kill命令。

    如果您希望Druid连接池能够自动终止执行缓慢或者长时间运行的SQL语句,可以使用Druid的StatFilter来实现。StatFilter可以监控SQL执行的时间,如果执行时间超过指定的阈值,就会中断SQL执行并抛出异常。

    2023-07-30 10:07:04
    赞同 展开评论 打赏
  • 如果你设置了executeQueryTimeOut,mysql driver会发,而不是dataSource发。

    原回答者GitHub用户wenshao

    2023-07-06 11:54:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载