웹뷰어 왼쪽 차례표시 성능문제 관련 문의

R_CHAPTER기준으로 약 323개의 목록이 있는 책인데요. 
 웹뷰어로 오픈시 왼쪽차례가 표시되기까지 약 4초가량 소요가 되고, 이후에 오른쪽에 내용이 표시가 됩니다.
 책을 쪼개서 두개로 운영할 수 없는 상황인지라 현재 상황에서 약간이라도 성능개선이 가능한 부분이 있는지 문의 드립니다.
 
 DB는 오라클을 사용하고 있는데, R_CHAPTER에 R_BOOK_ID 로 조회시 FULL을 타기는 하나 조회성능에는 문제가 없는거 같구요.
  (가능하면 인덱스도 추가해 볼까 생각중입니다.)

 개발자도구에서 확인해 보니 /r/viewer/navigation/{book_id} 요부분에서 4초를 다 사용하는 거 같습니다.
 (응답데이터는 약 234k정도)
 

쓰리래빗츠입니다.

먼저 자바 힙 메모리를 늘렸는지 확인 부탁드립니다. 그리고 R_CHAPTERR_BOOK_ID에는 인덱스가 있습니다. 

해당 문서를 <도구 | 내보내기> 문서에서 내보내셔 보내주시면 테스트를 해보겠습니다. 그리고 편집 권한이 없는 사용자가 웹 뷰어를 볼 때는 캐시를 적용하고는 있습니다.

이와는 별개로 장의 숫자가 많은 것 같습니다. 여러 문서로 분리하는 것을 권장드립니다. PDF를 만들었을 때 몇 페이지인가요? 아무리 많아도 1,000 페이지를 넘기지 않는 것을 권장합니다.

감사합니다.

오라클 v$sql에서 잡은 쿼리로 플랜을 떠봤는데요. (첨부참조) 
 인덱스가 안타네요.

인덱스가 있는지 확인 부탁 드립니다. 그리고 R_CHAPTER 테이블이 작아 오라클 데이터베이스가 인덱스를 이용하지 않는 것 같습니다.

oracle10g 인데, 인덱스가 있네요. 플랜을 비교해보니 FULL로 조회하는게 성능이 더 좋게 나오는거 같습니다. 
 그렇다면, 조회한 데이터를 조립하는 과정중에서 delay가 있는 것이 아닌가 추측이 됩니다.
 
 대량의 문자열 조립작업시 String 보다는 StringBuffer를 사용하는게 훨씬 성능이 좋은 것으로 알고 있습니다.
 (알고 계실거 같지만, 참고로 ~)
 
 그리고, 저희쪽 자료는 외부반출이 쉽지 않을거 같습니다. 
  
 혹시 자세한 로그를 보거나 디버깅 할수 있는 방법이 있나요 ?

자바 힙 메모리 설정 확인 부탁드립니다. 함께 PDF로 내보내기 했을 때의 페이지 숫자도 확인 부탁드립니다.

그리고 다음 쿼리에 대한 결과도 부탁드립니다.

SELECT COUNT(*) FROM R_CHAPTER WHERE R_BOOK_ID = '34541fe321724db3'

SELECT COUNT(*) FROM R_CHAPTER_ELEMENT WHERE R_CHAPTER_ID IN (SELECT R_ID FROM R_CHAPTER WHERE R_BOOK_ID = '34541fe321724db3')

SELECT COUNT(*) FROM R_CHAPTER_ELEMENT WHERE R_CHAPTER_ID IN (SELECT R_ID FROM R_CHAPTER WHERE R_BOOK_ID = '34541fe321724db3') AND R_TYPE IN ('heading1', 'heading2', 'heading3', 'heading4', 'heading5')

34541fe321724db3은 실제 문서의 UUID로 변경합니다.

감사합니다.

건수는 각각  344, 4154, 2020개입니다. pdf 장수는 1,039장이네요. (좀 많네요 흐미)