2015-01-26 4 views
2

JDBC 드라이버가있는 메모리 내 hsqldb 데이터베이스를 사용 중입니다.HSQLDB 지속 메모리 데이터베이스

이제 응용 프로그램 재부팅 후 다시로드하기 위해이 데이터베이스를 유지할 수있는 방법을 찾고 있습니다. 나는 다음과 같은 옵션이 함께했다 : SQL 명령을

  1. 수출 .script 파일 "SCRIPT < 경로>"(link)
  2. 로그는 모든 명령문을 로그 파일에.

옵션 2는 작동하지만 내 눈에는보기 흉한 것처럼 보입니다. 옵션 1에 대한 스크립트 내보내기도 작동하지만 .script 파일을 메모리 내장 데이터베이스로 다시 가져올 수없는 것 같습니다.

모든 조언에 감사드립니다.

+0

데이터베이스를 유지하기를 원한다는 사실을 알고 싶다면 단지'mem :'에서'file :'으로 연결 URL을 바꾸고 데이터베이스를 저장할 곳을 으로 지정해야합니다. –

+0

성능상의 이유로 mem 데이터베이스를 사용하고 있습니다. – user3726374

+0

속도 위반이 없습니다. .script 파일을 유지하려는 경우 파일 : 데이터베이스에 대한 로깅을 해제하고 SHUTDOWN에 대한 CHECKPOINT를 발행 할 수 있습니다. – fredt

답변

2

첫 번째 옵션이 정확합니다.

SCRIPT <path> 문을 사용하여 데이터베이스를 내 보낸 후에는 메모리 내 데이터베이스로 가져올 수 있습니다.

당신은 당신이라는 이름의 디렉토리에 mydb.script 파일을 얻을 것이다, 당신은 d:/dbfiles/mydb.script로 데이터베이스를 내보낼 경우 예를 들어, 읽기 전용 file: URL

으로 스크립트 데이터베이스에 연결해야합니다. 이 데이터베이스에 연결하려면 file:d:/dbfiles/mydb;files_readonly=true을 사용하십시오.

위의 방법과 mem : database 간에는 속도 차이가 없습니다.

관련 문제