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

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

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

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

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

解决方法:

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

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

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

相关文章

连接数据库的方式:第一种方式:ODBC:开放数据库连接是微软...
JDBCRequest 使用VariableNamesmysql:数据库连接池对象var...
 1.JDBCDBC(JavaDataBaseConnectivity):Java数据库连接技术...
1.需要jar包的支持:java.sqljavax.sqlmysql-conneter-java....
1.简介Activiti是一个业务流程管理(BPM)框架,它是覆盖了业务...
1.JDBC体系系统一组规范:接口JDBC接口(API)包括两个层次:...