如果SQL太慢了(比如查询速度很慢), druid会发了个kill命令杀掉吗? 如果有,如何设置这个时间?
原提问者GitHub用户guozhouwei
Druid连接池本身不会向数据库发送kill命令来终止执行缓慢或者长时间运行的SQL语句,因为这样可能会导致数据不一致或者事务回滚等问题。如果需要终止执行缓慢或者长时间运行的SQL语句,建议通过数据库管理工具或者其他方式手动执行kill命令。
如果您希望Druid连接池能够自动终止执行缓慢或者长时间运行的SQL语句,可以使用Druid的StatFilter来实现。StatFilter可以监控SQL执行的时间,如果执行时间超过指定的阈值,就会中断SQL执行并抛出异常。
如果你设置了executeQueryTimeOut,mysql driver会发,而不是dataSource发。
原回答者GitHub用户wenshao
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。