우리는 약 100 개의 피쳐 클래스와 비 공간 테이블, 기하학적 네트워크 및 많은 관계 클래스를 포함하는 상당히 복잡한 데이터 모델을 가진 버전이 지정된 arcsde 지오 데이터베이스 (오라클 10g의 arcgis 9.3.1)를 가지고 있습니다.
sde 버전 관리를 사용하는 5 명 또는 6 명의 아크 맵 사용자가 매일 데이터를 편집합니다. 또한 버전은 다른 비즈니스 시스템과 인터페이스하여 지오 데이터베이스에서 편집을 수행하는 자동 서비스에 의해 작성됩니다. 하루 중 쿼리 성능이 눈에 띄게 저하되므로 전체 압축을 달성하기 위해 야간 스크립트를 구현했습니다. 비교적 많은 수의 편집이 수행되는 경우 전체 압축이 완료 될 때까지 시스템을 사용할 수 없게됩니다.
이러한 휘발성 델타 테이블에 직면 할 때 구성된 Oracle은 적절한 실행 계획을 제시 할 수 없습니다. 이것이 합리적인 설명입니까? 그것을 해결하기 위해 어떤 접근법을 취해야합니까?
의견에 대한 응답으로 업데이트
- 하루가 끝날 무렵 상태 트리는 분기가 거의없는 매우 선형입니다.
- 우리는 매일 밤 압축합니다 (모든 버전을 삭제하여 완전히 압축하십시오).
- 비즈니스 테이블은 정기적으로 분석됩니다.
- 델타 테이블은 분석되지 않습니다. 잠겨 있습니다 (분석 시도가 "ORA-20005 개체 통계가 잠겨 있음"오류를 리턴 함). sde 스키마 (STATES, STATE_LINEAGES)의 소멸성 테이블도 아닙니다.