드로우홀릭 더베이직
결론
- 압축/복구는 데이터베이스 파일을 새로 작성해 주는 것입니다.
- 운영중인 DB 파일은 최소 1주일에 한 번은 압축/복구 해 주시기 바랍니다.
- 개발중인 DB 파일은 하루에 한 번은 압축/복구 해 주시기 바랍니다.
- 압축/복구 작업을 하기 전에는 반드시 백업해 둡니다.
원리
데이터베이스 압축/복구란 무엇일까요?
데이터베이스 파일은 오래 사용할수록, '단편화'가 일어나게 됩니다.
데이터를 기록하고 삭제하면, 그 공간은 '사용하지 않음' 표시하고 넘어간다는 뜻입니다.
그래서 데이터베이스 파일은 오래 사용할수록, 단편화가 일어나고 용량이 커집니다.
절대 스스로 작아지지는 않습니다.
압축/복구에 대한 원리는 다음 링크를 참고해 주세요.
https://www.td21.com/kb/499
이것이 스스로 작아지지는 않기 때문에, 묘한 문제가 발생합니다.
멀쩡히 잘 자동하던 액세스 파일이 다음과 같은 메시지가 표시되곤 합니다.
- 인덱스가 손상되어..
- ActiveX 컨트롤과 통신할 수 없습니다..
- 메모리가 부족합니다...
위와 같은 메시지가 표시되면, 모두 압축/복구의 문제라는 뜻은 아닙니다.
다만, 위와 같은 메시지가 표시되면, 제일 먼저 압축/복구를 해 봐야 한다는 의미입니다.
경험상, 압축/복구를 하면 70~80% 정도는 해결되었었습니다.
액세스 데이터베이스 최대 크기에 도달했을 때의 현상
- 데이터가 들어갈 때가 있고, 들어가지 않을 때가 있어요.
- 어떤 데이터는 저장이 되는데, 어떤 데이터는 저장이 안됩니다.
모두 액세스 데이터베이스 파일이 최대 크기에 도달했을 때의 현상입니다.
액세스 데이터베이스 파일의 최대 크기는 2GB 입니다.
이 때도, 압축/복구를 하면 용량이 대폭 줄어들 가능성이 있습니다.
웬만하면 DB는 SQL Server 사용하세요.
DB가 깨지지도 않고, 용량 제한도 없습니다. (유료 버전)
DB파일 10GB까지 사용할 수 있는 무료 버전으로 시작해 보세요.
10GB 넘으면, 유료버전 사용하는 것이.. 돈 아까울까요?
MySQL, MariaDB는 호환성이 썩 좋지는 않습니다. 200~400만원 지불하고 SQL Server 유료버전 사용하는 것이 심신안정에 도움이 됩니다. (물론, 10GB까지는 무료버전 있구요.)
DB 압축/복구 주기
운영중인 DB라면, 데이터가 계속 읽히고 쓰여지고 하겠죠?
특히 쓰여지는 빈도에 따라 다르고, 쓰여지는 것도 update인지 insert인지에 따라 다양할 겁니다.
기본적으로는 1주일 주기로 시작해 보세요.
그래도 문제가 지속되면 3일, 2일, 1일 등으로 좁혀 보세요.
개발중인 DB라면, 폼/보고서가 계속 만들어지고 지워지고 하겠죠?
액세스는 데이터 뿐만 아니라, 폼/보고서가 계속 만들어지고 지워지고 하는 것 역시..
DB에 저장하는 방식과 유사하게 관리합니다.
그래서 데이터를 넣고/빼고 하지 않더라도, 내가 무엇인가를 개발한다면..
그 파일은 계속 커질 것입니다.
이것이 더 심할 때가 많죠.
그래서 기본적으로는 하루 단위로 압축/복구하는 것을 권장합니다.
데이터베이스 압축/복구. 정말 중요합니다.
꼭 주기적으로 수행해 주세요~