У меня есть этот 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] \
) \
"