HSQLDB에 의하여 숨겨지은 테이블에 있는 간결에서 성과의 점에서 빤다. 나는 정성들여 만들기 위하여는 2개의 중형 숨겨지은 테이블 (더 큰 1개의 163 MB)에 달리는 약 9 시간이 걸리는 프로그램을 실행하고 있었다. 나는 기억 장치표 (과태)에 테이블을 바꾸었다 지금 10 분 미만 소요된다. 우리가 숨겨지은 테이블로 쉽게 역도 마찬가지로 기억 장치표를 어떻게 개조해 좋은지 보자.


당신은 어떻게 숨겨지은 테이블로 HSQLDB 기억 장치표를 개조할 수 있는가?

이 것은 쉽다. 나는 다만 원본 파일을 열고 창조 테이블 계산서에서 숨겨지은 낱말 기억을 바꾼다. 그것은 자동적으로 개심자 숨겨지은 테이블에 그것 다음 시간 그것 사용된다. 반전은 그러나 더 복잡하다.

당신은 어떻게 기억 장치표로 HSQLDB에 의하여 숨겨지은 테이블을 개조할 수 있는가?

당신은 임시 테이블을 창조하고 그 테이블에 모든 자료를 (가급적이면… 추려낸으로 삽입을 사용하는 *… 질문에서 -) 베낄 필요가 있다. 다음 원래의 표를 떨어뜨리고 기억 장치표로 그 후에 휴양하십시오. 지금 모든 자료를 임시 테이블에서 원래의 표에 후에 베끼고 마지막으로 임시 테이블을 떨어뜨리십시오. 절차는 복잡한 소리가 나는지도 모르는 동안, 그의 소금의 값이 있는 어떤 DBA든지를 위해, 실행하기 위하여 실제로 조각 의 굳힌다 이다.

여기 기억 장치표로 큰 숨겨지은 테이블을 개조했었다 나가 무슨이라고 있다:

st.execute ("숨겨지은 테이블 TEMPSHEET를 창조하십시오 (\ "메타산 ID \" 신원 (0에서 시작) 무효 기본 키로 디폴트로 생성되는 정수,…)");
st.execute ("TEMPSHEET로 삽입 (에서 - * 장 선정하십시오) ");
st.execute ("하락 테이블 장");
st.execute ("기억 장치표 장을 창조하십시오 (\ "메타산 ID \" 신원 (0에서 시작) 무효 기본 키로 디폴트로 생성되는 정수,…) ");
st.execute ("장으로 삽입 (에서 - * TEMPSHEET 선정하십시오) ");
st.execute ("하락 테이블 TEMPSHEET");
st.execute ("폐쇄 콤팩트");

주: 위는 자바 부호 일에서 발췌된다. "폐쇄 콤팩트"는 미래에 있는 더 나은 성과를 위해 추천된다.

결론

최종 결과는, 당신이 기억 장치표 형태에서서만 HSQLDB를 사용해야 한다 이다 숨겨지은 테이블 형태 대신에. 당신이 기억 제한 때문에 숨겨지은 테이블 형태를 그 후에 필요로 하는 경우에 당신은 다른 데이타베이스를 고려해야 한다.