MySQL 데이터베이스에서 최대 절전 모드 3을 사용하고 있습니다 (더 이상 성공하지 않고 최대 절전 모드로 시도했습니다). 나는 table-per-concrete-class 상속 전략 (union-subclass)을 구현했다.최대 절전 모드 상속 성능
다형성 쿼리를 제외하고는 작업이 수행됩니다. PKEY가의 속성이기 때문에,
select primKey, param1, param2 from (
select primKey, param1, param2 from Concrete1
union
select primKey, param1, param2 from Concrete2
)
where primKey == <value>
order by param1
limit 100
이있는 반면로드 전체 콘크리트 테이블의 컨텐츠로 아주 나쁜 성능에 리드 : Hibernate는 "여기서"절은 높은 수준의 쿼리에있는 UNION 기반 쿼리를 생성 추상 부모, subselect에서 "where"절을 정의 할 수 있습니다.
그래서 목표는 Hibernate는 이런 종류의 질의를 생성 얻을 것이다 :
select primKey, param1, param2 from (
select primKey, param1, param2 from Concrete1 where primKey == <value>
union
select primKey, param1, param2 from Concrete2 where primKey == <value>
)
order by param1
limit 100
이 방법 쿼리가 즉시 실행됩니다.
이 동작을 변경하기 위해 최대 절전 모드를 어떻게 구성 할 수 있습니까?
감사
Y.
최대 절전 모드는 확실하지 않지만 저장 프로 시저를 사용하지 않는 이유는 어디에 입력 매개 변수로 primitives와 limit가 있는지 알려주는 것입니다. 또는 뷰 (최적화 된 뷰 - 인덱스 등) - 뷰는 유니온 Croncrete1 및 Concrete2 테이블을 유지하며, [cols] limit?,?에 의해 primKey = value order 인 mView에서 select [cols]를 갖습니다. –