2014-01-12 3 views
0

C# 응용 프로그램 (.Net Framework + System.Data.SQLite)에서 만든 sqlite 데이터베이스가 있습니다. 나는 "SQLite는 관리자"내 데이터베이스 파일의 크기가 크게 증가하고있다 (예 448킬로바이트 -> 8백4킬로바이트)와 같은 다른 도구를 사용하여 내 SQLite 데이터베이스 파일을 조작 할 때마다조작 후 SQLITE 크기 증가

내 소스 DB SQLite는 3 형식으로되어 있습니다 도착지는 동일합니다.

db에 저장된 정보는 유니 코드입니다. 그러나 그들이 UTF-8, UTF-16 또는 다른 것 인 지 확실하지 않습니다.

db에 적용한 변경 사항에는 열 이름 변경과 같은 작업이 포함됩니다.

모바일 응용 프로그램에서이 데이터베이스를 자산으로 사용하므로 크기가 큰 문제입니다.

왜 이런 일이 발생하고 예방할 수 있는지 실마리가 있습니까?

+0

['VACUUM 명령] (http://www.sqlite.org/lang_vacuum.html)을보고 결과 데이터베이스에 적용 해보십시오. 데이터베이스 크기가 감소 했습니까? – Shad

+0

이 명령 크기를 사용하여 다시 변경하고 정상 수준으로 감소했습니다. 그 이유는 무엇입니까? 나는 당신이 대답에 그것을 넣어 행복합니다 :) – VSB

답변

1

불행히도, 우리는 정확히 다른 SQLite 데이터베이스 도구가 데이터베이스 파일로 할 수있는 일을 정확히 알지 못합니다. 그러나 VACUUM SQLite 명령에주의를 기울여야합니다.

VACUUM 명령은 임시 데이터베이스 파일에 내용을 복사하고 복사본에서 원본 데이터베이스 파일을 다시로드하여 주 데이터베이스를 정리합니다. 이렇게하면 사용 가능한 페이지가 제거되고 테이블 데이터가 연속적으로 정렬되며 그렇지 않으면 데이터베이스 파일 구조가 정리됩니다. documentation에 대한 자세한 내용보기

해결 방법 솔루션으로 특정 도구에서 작업을 마쳤 으면 데이터베이스에이 명령을 적용 할 수 있습니다.