2012-05-21 4 views
0

hasMany 연관에 구성원이 있는지 확인하는 가장 저렴한 방법은 무엇입니까 (성능 관점에서)? 나는 모든 아이들의 회복을 피하려고 노력하고있다. 곰을 사용하여 아이들을 셀 수있는 깨끗한 방법이 있습니까?Grails hasMany 연관 검사

여기의 사용 사례는 상위 개체의 UI에 [+]를 표시하거나 표시하지 않습니다.

답변

1

불가능합니다. 나는 곧은 곰의 표현으로 생각합니다.

0

아이들에게 size() 체크를하여 (특히 캐싱을 활용한다면) 무엇이든 잃을 것이라고 생각하지 않습니다. 또 다른 옵션은 비트를 de-normalize하고 count를 부모의 컬럼으로 유지하는 것입니다. 주문 헤더의 주문 항목 수를 추적하는 ecomm 사이트에서이 작업을 수행합니다.

countBy 동적 찾기를 살펴볼 수도 있습니다.

+0

답변 해 주셔서 감사합니다. 나는 카운트를 동기화 유지 보수 작업을 도입 할 때 표준화 해제 솔루션을 좋아하지 않습니다. 또한 카운트가 동기화되지 않은 경우 오류 가능성을 유발합니다. 크기 검사로 인해 모든 어린이가 검색 대상이되는데, 그 이유는 내가 피하려고하는 것입니다. – dbrin

+0

countBy 동적 파인더를 살펴보십시오. child.countByParent (부모)를 할 수 있습니다. 그것은 "더 나은 성능을 제공 할 수있는 선택 개수 (*)"를 생성해야합니다. – Gregg

+0

실용적이지 않습니다. – dbrin

관련 문제