数据库查询超时自动取消

需求:查询超时是自动切断任务以及和数据库的连接

1.jdbctemplate.query查询大量数据,在规定时间内未返回数据,如何切断任务
2.尝试切断执行的任务的线程,发现和数据库的连接无法切断,仍然报oom

img

3.尝试jdbctemplate.setQueryTimeOut设置超时时间,无效,仍然保oom
4.尝试使用mybatis查询,使用outTime设置超时时间仍然无效

img

请问有什么解决方案?

建议从数据库查询优化着手,可以把具体的sql放到数据库中去做优化,比如explan看看执行计划,看索引有没有被利用上,没有索引的话,可以合理的加上一些索引。希望可以解决你的问题。