微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 自动终止长时间运行的查询(MySql),Apache Tomcat DataSource

我们的java Web应用程序具有搜索功能,允许用户通过大型数据库搜索记录.

如果用户指定了错误搜索参数,他们最终会得到一个似乎永远不会结束的查询,因为它需要几个小时才能运行.

它是一个Web应用程序,所以他们一次又一次地尝试,查询会占用所有导致严重性能问题的资源.

如果查询运行时间过长或使用太多cpu,有没有办法自动终止查询

解决方法:

最适合您的方法是捕获无法执行的搜索条件.

MySQL从5.7.8开始,有一个max_execution_time setting.

此外,您可以提供一些cron脚本来检查SHOW PROCESSLIST并处理超出时间限制的正在处理的查询.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐