我有这个hql查询,但它需要很长时间(10分钟)才能执行,因为它基本上扫描了整个表。我想知道是否有其他方法来写这个以更快地运行。
我在此查询中所做的是列出特定日期的所有位置,如果该日期没有我想要选择最新位置的位置。
def flList = FlPosition.findAll(" from FlPosition f \
where f.asOfDate = ( \
select max(f2.asOfDate) \
from FlPosition f2 \
where f2.cusip = f.cusip and \
f2.shareholderAccount = f.shareholderAccount and \
f2.asOfDate <= ?)", [date] \
) \
"