쓰리래빗츠입니다.
먼저 자바 힙 메모리를 늘렸는지 확인 부탁드립니다. 그리고 R_CHAPTER
에 R_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장이네요. (좀 많네요 흐미)