문제

따라서 내 직장에는 거대한 액세스 파일이 있습니다 (MS Access 2003 및 2007과 함께 사용). 파일 크기는 약 1.2GB이므로 파일을 열는 데 시간이 걸립니다. 우리는 레코드를 삭제할 수 없으며 약 100 개 이상의 테이블이 있습니다 (매달 4 개의 테이블을 더 많이 만들고 묻지 마십시오!). 파일을 축소하는 방법을 어떻게 개선합니까?

도움이 되었습니까?

해결책

글쎄 .. @larry의 말을 듣고, 장기적으로 데이터를 보유하려면 다른 데이터베이스를 찾아야한다는 것을 명심하십시오!

그러나 단기적으로, 나는이 "매월 4 개의 새로운 테이블"에 상당히 혼란스러워합니다. 한 달에 4 개의 테이블은 연간 50 개입니다. 여기에서 모든 "데이터베이스 관리자"에게는 이상하게 들립니다. 그래서 우리에게 말씀 해주십시오. 얼마나 많은 행, 어떻게 만들어졌으며, 무엇을위한 것인지, 왜 매달 테이블을 만들어야합니까?

데이터로 수행하는 작업에 따라 일부 테이블을 XML 파일 (또는 XL)으로 보관하는 것에 대해 생각할 수도 있습니다. 이것은 관계, 견해 등을 통해 액세스 할 필요가없는 "역사적"데이터에 적합 할 수 있습니다. 좋은 예는 PABX에서 수집 한 전화 통화 목록입니다. 데이터를 ADODB 레코드 세트 또는 TransferDatabase 메소드를 통해 XML/XLS 파일에서 AS/로드 할 수 있습니다.

다른 팁

두 가지를 할 수 있습니다.

  • 연결된 테이블을 사용하십시오
  • 데이터베이스를 "소형"한 번에 한 번에 한 번

링크 된 테이블은 그 자체로 데이터베이스의 전체 크기를 제한하지 않지만 더 작고 관리하기 쉬운 파일로 "패키지"합니다. 이것을 살펴 보려면 :

'File' menu + 'Get External data' + 'Linked tables'

링크 된 테이블에는 여러 버전의 데이터 서브 세트를 유지하고 링크 된 테이블 관리자를 통해 특정 세트를 선택할 수있는 많은 장점이 있습니다.

압축 데이터베이스는 다양한 CRUD 작업 (삽입, 삭제, 업데이트 ...)로 손실 된 공간을 재생합니다. 또한 테이블과 색인을 다시 그룹화하여 검색을보다 효율적으로 만듭니다. 이것은 완료되었습니다

  'Tools' menu + 'Database Utilities' + 'Compact and Repair Database...'

당신은 실제로 MS 액세스의 한계에 대비하고 있습니다. 파일이 2GB보다 커질 수 없다는 것을 알고 있습니까?

추가 정규화를 통해 가능한 공간 절약에 대한 데이터를 이미 조사했다고 가정합니까? 이전 달의 일부 테이블을 별도의 MDB 파일에 "아카이브"한 다음 (영구적으로 또는 필요에 따라) "현재"데이터베이스에 연결할 수 있습니다 (이 경우 실제로는 그렇지 않은 나쁜 결정의 혜택을받을 수 있습니다. 매월 새 테이블을 시작하려면).

그러나 그 양의 데이터를 통해 아마도 더 다양한 플랫폼으로 이동하기위한 계획을 시작할 때가되었을 것입니다.

DB 아키텍처에 대해 실제로 생각해야합니다. 테이블 사이에 링크가 없으면 일부 테이블 중 일부를 다른 데이터베이스로 옮기려고 시도 할 수 있습니다 (연간 1dB :) 단기 솔루션 ..

매달 더 많은 테이블을 추가합니다. 그것은 이미 의심스러운 태도이며 데이터 정규화에 대해 의심스러워 보입니다.
그렇게하면 데이터베이스 구조가 필드 크기, 데이터 유형 및 인덱스와 관련하여 최적화되어 있다고 생각합니다. 나는 그것들을 두 번 확인하는 것으로 시작할 것입니다.

월간 테이블 (다시 상상할 수없는)에 대한 정당성이 실제로 있다면 월 1 회 백엔드가없는 이유는 무엇입니까?
또한 메인 백엔드를 사용하여 3 개월의 데이터를 온라인으로, 그리고 구식 레코드를 전송하는 아카이브 DB를 가질 수도 있습니다.
메인 테이블에는 약 650.000 레코드가있는 거래에 사용하며 액세스는 매우 반응이 좋습니다.

몇 가지“빨대에서 파악”아이디어

각 열의 데이터 유형을 보면 레코드 당 소량을 저장하는 바이트로 숫자를 저장할 수 있습니다.

색인을보고 사용하지 않는 색인을 제거하십시오. 큰 테이블에서 불필요한 인덱스는 많은 양의 오버 헤드를 추가 할 수 있습니다.

나는 + 2^64 데이터베이스 디자인에 대한 제안이 조금 이상하지만 아직 말하지 않은 것은 없어서 지점을 노동하지 않을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top