2009-04-30 3 views
0

우리는 Access Database Application을 보유하고 있습니다. (면책 조항 : 우리는 다른 기술을 선호했지만 상황은 ...). 병렬로 데이터베이스를 사용하고 개발하기 위해 DB를 "데이터"(백엔드)와 "애플리케이션"부분으로 나눠서 Access DB의 모범 사례 인 것 같습니다.액세스 DB 분할 후 성능 저하

이제 성능이 저하되었습니다. 이제는 인스턴트 메시징을 사용하던 쿼리가 몇 초가 걸렸습니다. "좀 더 나은 성능"이 DB 분할에 대한 전문가 중 한 명 이었기 때문에 이것은 다소 놀라운 것이 었습니다. 성능을 원래 수준 이상으로 향상 시키려면 어떻게해야합니까?


UPDATE는

우리는이 문제를 알아 내기 위해 좀 더 테스트를 완료했습니다. 이 문제는 영구적으로 액세스되는 작업 그룹 파일 (.mdw)에 의해 발생하고 피할 수없는 대기 시간 문제가있는 상당량의 네트워크 트래픽을 유발하는 것으로 보입니다. .mdw를 로컬 파일에 복사하여 대신 사용하면 성능이 좋습니다. 명백하게 파일을 복사하는 것은 좋은 해결책이 아닙니다. 우리는 알려지지 않은 수의 사용자에게 네트워크상의 액세스 DB를 제공하고자합니다. 더 좋은 아이디어?

답변

-3

유일한 좋은 대답은 액세스 사용에서 다른 기술 사용으로 전환하는 것입니다.

+0

이것은 궁극적으로 우리가 염두에두고있는 해결책이지만, 우리가 본 저하를 설명하지는 않습니다. 전에는 Access 였고 성능은 괜찮 았어. – Thorsten

2

각 사용자에게 프런트 엔드 사본이 있어야합니다. 또한 백엔드 경로가 짧아야합니다. Tony Toews, MVP에는 성능에 대한 추가 정보가 있습니다.

2

프로덕션 응용 프로그램이 링크 된 테이블 연결 문자열을 업데이트하고 있는지 여부를 확인해야합니다. 때때로 Access는 데이터를 크게 비효율적으로 쿼리하는 링크 된 테이블에 메타 데이터를 캐시합니다. 해결책은 링크 된 테이블을 완전히 삭제하고이 경우 링크 된 테이블을 처음부터 생성하는 것입니다.

그러나 이것은 프로덕션 서버와 다른 테스트 베드 서버가있는 경우에만 중요합니다. 두 서버가 모두 같은 서버에 있으면 긴 경로로 인해 성능 병목 현상이 발생할 수는 있지만 훨씬 적습니다.

제안 사항 중 하나는 Tony's Performance FAQ이지만, 백 엔드를 두는 곳이 다른 점을 지적하겠습니다. 긴 경로 이름을 사용하지 않고 모든 백엔드 MDB를 서버의 최상위 저장소에 저장하려고합니다. 즉, \ Server \ Data Files \ My Workgroup \ My 긴 경로 이름과 공백이있는 \ Server \ Databases가 있습니다.