Hibernate Profiler에서 연관에 대해 eager fetching을 사용할 때 HQL Query에서 "left join fetch"를 사용하거나 Criteria Query 쿼리에서 .SetFetchMode()를 사용하는 것을 관찰했다. 쿼리 캐시에 더 오래 캐시됩니다.Hibernate Second-Level Query Cache가 작동하지 않는다. Eager Fetchching
사실 아주 기본적인 쿼리 만 캐시되어있는 것을 볼 수 있습니다. 누구든지 어떤 쿼리를 캐시에 저장할지, 어떤 캐시를 캐시에 저장할지에 대한 통찰력을 줄 수 있다면 대답을 표시 할 것입니다.
차이가 있다면 Memcached를 사용하고 있습니다 ... 쿼리 밀도가 높은 시스템에서 L2 캐시를 사용하는 것이 더 좋은 선택입니까?
나는 열심히로드를 사용하면 데이터베이스에서 모든 엔티티를 가져 오지만로드 할 필요가없는 열의로드를 사용하지 않으면 (캐시를 사용함) N + 1 문제가 발생하지만 캐싱 없음.
두꺼운 분리 선이있는 것처럼 보이지만 두 전략 모두 성능이 향상되지만 두 전략 모두 다른 전략의 성능을 떨어 뜨립니다.
누구나이 '굵은 선'의 대략적인 위치에 대해 어떤 통찰력을 제공 할 수 있다면 나는 최적의 성능을 가지거나 줄을 더 얇게 만들 수 있어야합니다 ... 나는 매우 관대하고 답을 표시 할 것입니다.
아무도 대답이 없습니다. –
당신의 제안은 좋은 생각처럼 들리지만 나는 지금 휴가 중이며 이것을 시도 할 기회가 없었습니다. 미안하지만 내 쿼리에 select ... 구성 요소가 있는지 기억이 나지 않습니다. 이것이 내 문제의 원인 일 수 있습니다. 나는 그것을주고 다시 되돌릴 것이다. 감사! – reach4thelasers
내 대답을 내 관련 질문으로 업데이트했습니다. 나는 그것이 상당히 적절하다고 생각합니다. –