0

考虑一下,
从数据库中检索数据(由于数据量较大)需要一分钟以上的时间。
我知道,我们可以在选择标签中设置“timeout”属性(仅针对单个查询)或在设置标签(SqlMapConfig.xml - 对于所有查询)中设置“defaultStatementTimeout”属性,以强制终止执行中的查询。

<select id='uniqueName' parameterClass='java.util.Map' resultClass = "java.lang.String" timeout="60">  

或者

<settings useStatementNamespaces="false" defaultStatementTimeout="60"/>  

通过上述配置,IBatis 会抛出“用户取消请求”错误并终止执行。

我们还有其他方法可以终止执行吗?

我的场景是:

当用户请求 3 年的数据时,从数据库中获取数据需要一分钟多的时间。
同时,当用户请求 1 天的数据或发送“取消”请求时,我不得不强制终止之前的执行(3 年数据检索),因为即使用户数量有限,它也会影响性能。
注意
我没有使用上述任何设置。

请为此提供解决方案。提前致谢。

4

1 回答 1

0

您可以通过修改与数据库用户关联的配置文件来设置资源限制。

于 2012-09-06T13:34:54.937 回答