2012-06-13 7 views
0

나는 웹에서 답변을 찾을 수없는 간단한 질문이 있습니다. 다음 도메인 모델의 어느 것이 더 효율적입니다 :도메인 모델에서 객체를 참조하는 Grails

class Text { 

    User author 

    static constraints = {} 
} 

class Text { 

    String author 

    static constraints = {} 
} 

사용자 개체가의 String로서 이름을 가지고있다. 그러나 어느 것이 더 효율적입니까? 문자열을 저장하고 개체를 검색하거나 개체를 저장하려면?

답변

0

당신이 기준 쿼리를 사용하는 것 중에 첫 번째 옵션은 더 정확한 결과를 줄 것이다, 그것은 효율적도는 더 쉽게 쿼리

0

글쎄, 당신이 사용하는 경우 동안 JVM이보다는 비교 문자열을 객체의 해시 코드를 비교하는 것입니다 객체는 응용 프로그램이 커지면 특히 쉽게 앞서가는 경향이 있습니다. 그러나이 앱이 성장할 가능성이 없다면 그 안에 문자열 작성자와 함께 개체를 사용할 이유가 없습니다 (목적이없는 다른 간접 참조 수준 임). 성능을 위해 기본적으로 일대일 연결에서 lazy loading을 사용하므로 User를 사용하는 것이 더 좋으며 Text 개체를로드 할 때 User 개체가로드되지 않으므로 요청할 때 User 만 사용할 수 있습니다. 게다가 그것은 더 나은 OOP입니다. 이러한 도메인에서 작성자에게 쿼리하는 성능에 대해 이야기하는 경우에도 마찬가지입니다.

관련 문제