Grails 1.3.7+;如何停止CreateCriteria的执行
我正在使用Grail1.3.7 我正在为拥有大量数据的域对象执行createCriteria。而且要花很长时间才能得到结果 如何停止执行。或者是否有其他的实施方式 谢谢Grails 1.3.7+;如何停止CreateCriteria的执行,grails,Grails,我正在使用Grail1.3.7 我正在为拥有大量数据的域对象执行createCriteria。而且要花很长时间才能得到结果 如何停止执行。或者是否有其他的实施方式 谢谢 Santosh我不知道Grails中有任何功能允许您取消长时间运行的查询。首先,在从数据库中获取所有请求的结果之前,对条件调用list()。我认为您首先需要关注能够使查询性能更好的事情: 显然,如果可能的话,可以添加更多的条件来限制行 使用maxResults限制返回的行数 如果不需要域对象中的所有值,请使用propertyp
Santosh我不知道Grails中有任何功能允许您取消长时间运行的查询。首先,在从数据库中获取所有请求的结果之前,对条件调用
list()
。我认为您首先需要关注能够使查询性能更好的事情:
- 显然,如果可能的话,可以添加更多的条件来限制行
- 使用
限制返回的行数maxResults
- 如果不需要域对象中的所有值,请使用
projection以避免创建域对象并减少内存property
- 如果需要迭代一大组数据,请使用
并定期scroll()
和flush()
对会话进行刷新,以防止速度减慢clear()