Я поиск в Интернете, и я не могу найти точку отсчета, сравнивая критерии Grails, FindAll и findAllByGrails критерии против FindAll и findAllBy бенчмарка
Так что это самый быстрый?
// groovy enhance collection method
parent.childs.findAll{ it.someProperty == someValue }
или
Child.findAllByParentAndSomeProperty(parent, someValue)
или
Child.createCriteria().list{
eq('parent', parent)
eq('someProperty ', someValue)
}
ОБНОВЛЕНИЕ
В parent.childs.findAll является заводной расширение метод сбора, это dosen't вызвать базу данных , Нравится:
[1,2,3,4,5].findAll{ it > 3} == [4, 5]
Мне лучше позвонить по БД или пройти через уже загруженную коллекцию.
Почему бы не проверить это самостоятельно? –
Вы можете включить вывод sql для просмотра генерируемых запросов. Если есть разница, я думаю, что это минимально. –
Я считаю, что они будут иметь одинаковую производительность, если они будут использовать один и тот же запрос. Узкое место будет в базе данных. Если производительность важна, можете вручную написать свой собственный HQL или SQL для лучшего контроля. – JavaDev