2011-03-14 2 views
2

내 응용 프로그램에서 differents 테이블에서 많은 varchar 열을 검색해야했습니다.오라클 텍스트 인덱스 (컨텍스트) 계속 성장

그래서 4000자를 초과했기 때문에이 열을 연결하는 구체화 된보기를 작성했습니다. 열을 TO_CLOBS (column1)과 병합하여 병합했습니다. || TO_CLOB (열) ... || TO_CLOB (columnN).

쿼리가 복잡하기 때문에 새로 고침이 필요하면보기가 완료됩니다. 2 분마다 새로 고칩니다.

CONTEXT 색인은 sync on commit 매개 변수를 사용하여 작성됩니다.

색인은 2 분마다 동기화됩니다.

그러나 최적화 인덱스를 실행할 때 인덱스를 조각 모음하지 않습니다. 그래서 계속 성장하고 있습니다.

ctx_user_indexes에서 최적화가 docid 수를 떨어 뜨리는 방법을 알고 있지만 토큰은 줄어들지 않습니다. 그러나 인덱스 최적화에서 REBUILD 매개 변수를 사용하면 올바르게 작동합니다 (DR $ TEXT_INDEX_IDX $ I의 행 수가 줄어 듭니다).

아이디어가 있으십니까?

감사합니다. 불쌍한 영어를 유감스럽게 생각합니다.

답변

0

행을 줄이기 위해 작업을 추가하면 작동합니다.

관련 문제