我在網上搜索,我無法找到一個比較基準的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)
}
UPDATE
作爲parent.childs.findAll是一個常規增強採集方法,忽略了最低調用數據庫。像:
[1,2,3,4,5].findAll{ it > 3} == [4, 5]
所以我最好打電話給DB或循環通過已加載的集合。
爲什麼不自己測試一下? –
您可以啓用sql輸出來查看生成的查詢。如果有差異,我認爲它很小。 –
我相信如果他們使用相同的查詢,他們將會有相同的表現。瓶頸將在數據庫中。如果性能很重要,可能需要手動編寫自己的HQL或SQL以獲得更好的控制。 – JavaDev