Grails 1.3.7+;如何停止CreateCriteria的执行

Grails 1.3.7+;如何停止CreateCriteria的执行,grails,Grails,我正在使用Grail1.3.7 我正在为拥有大量数据的域对象执行createCriteria。而且要花很长时间才能得到结果 如何停止执行。或者是否有其他的实施方式 谢谢 Santosh我不知道Grails中有任何功能允许您取消长时间运行的查询。首先,在从数据库中获取所有请求的结果之前,对条件调用list()。我认为您首先需要关注能够使查询性能更好的事情: 显然,如果可能的话,可以添加更多的条件来限制行 使用maxResults限制返回的行数 如果不需要域对象中的所有值,请使用propertyp

我正在使用Grail1.3.7

我正在为拥有大量数据的域对象执行createCriteria。而且要花很长时间才能得到结果

如何停止执行。或者是否有其他的实施方式

谢谢
Santosh

我不知道Grails中有任何功能允许您取消长时间运行的查询。首先,在从数据库中获取所有请求的结果之前,对条件调用
list()
。我认为您首先需要关注能够使查询性能更好的事情:

  • 显然,如果可能的话,可以添加更多的条件来限制行
  • 使用
    maxResults
    限制返回的行数
  • 如果不需要域对象中的所有值,请使用
    property
    projection以避免创建域对象并减少内存
  • 如果需要迭代一大组数据,请使用
    scroll()
    并定期
    flush()
    clear()
    对会话进行刷新,以防止速度减慢