Проблема с медленным hql-запросом в приложении grails - PullRequest
1 голос
/ 14 сентября 2011

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