2011-02-17 3 views
2

"데이터베이스가 너무 느리다는 느낌이 들었습니다."그리고 나는 그것을 분류해야한다고 들었습니다. 데이터베이스 전문가가 아니기 때문에 나는 아이디어를 찾고 있습니다.어떻게 데이터베이스 액세스를 측정하고 최적화 할 수 있습니까?

내 생각은 기존 성능을 측정 한 다음 최적화를 시도하고 각각의 효과를 측정하는 것입니다.

누구나 MS Access 데이터베이스에 대한 액세스를 측정하기위한 좋은 도구 (FOSS가 좋음)를 제안 할 수 있습니까?

MS Access 데이터베이스를 최적화하는 일반적인 방법에 대한 좋은 책 또는 사이트 (또는 몇 가지 제안 사항이 있으십니까?)?

미리 감사드립니다.


업데이트 : 모든 INSERT, 결코 UPDATE 인 데이터베이스 쓰기가 문제인 것 같습니다. 검색어가 거의 없습니다 (데이터가 "적절한 경우"에 저장되어있는 것처럼 보입니다).

답변

3

은 또한 볼 내장 된 성능 분석기 마법사. Access 2003 주 메뉴에서 도구 -> 분석 -> 성능을 선택합니다. Access 2007을 사용하는 경우 데이터베이스 도구 리본을 확인하십시오.

그러나 비즈니스의 첫 번째 주문은 ""데이터베이스가 너무 느리다는 느낌이들 것입니다. "이라고 생각합니다. 응용 프로그램의 어떤 측면이 너무 느린 지 알아보고 그 최적화 노력에 집중하십시오. 필요하지 않은 부분을 최적화하는 데 시간을 낭비하지 마십시오.

+0

+1 감사합니다. 나는 몇 가지 질문을 하겠지만 아마 모든 것을 설명 할 것이다. – Mawg

3

올바른 생각을 가지고 기본 측정치를 얻은 다음 다시 측정하십시오. 쿼리를 X 번 (보통 20 정도) 실행하고 응답 시간을 평균화하는 빠른 루틴을 만들었습니다. 그렇게하면 개선 할 수 있는지 알 수 있습니다.

시작하기 전에 액세스 데이터베이스를 압축하면 작업 속도가 빨라집니다. 그 후 인덱스와 어떤 쿼리가 실행되는지 살펴 보겠습니다. 일반적인 실수는 전체 테이블에 양식을 바인딩하는 것입니다. 앱이 작을 때 잘 작동하지만 일단 많은 레코드가 있으면 드래그 할 수 있습니다.

+0

도움을 주셔서 감사합니다. – Mawg

2

아직 컴파일하지 않은 경우 디 컴파일을 원할 수 있습니다. 탭에 하위 폼이 많이있는 경우 폼이 필요할 때까지 레코드 소스를로드 할 필요가 없습니다. 약간의 노력으로 대개 하위 양식을 1 ~ 2 개로 줄이고 필요에 따라 양식을 하위 폼 컨트롤에로드 할 수 있습니다. 이상하게도 백엔드에 대한 긴 경로는 성능에 해가되므로 맵 드라이브가있는 경우 매핑 된 드라이브를 고려하십시오.

도구,이 도움이 될 수 :
Microsoft's Unsupported Jet Optimization Tools and more

당신은 또한에 관심이있을 수 :
Tony Toews on performance issues
Query optimization

+0

+1 링크를 사용해 주셔서 감사합니다. – Mawg

1

Google 제트 쇼 플란. Jet/ACE가 SQL 문을 최적화하는 방법에 대해 많이 알려줄 것입니다.

+0

+1 감사합니다. 매우 도움이됩니다. – Mawg

관련 문제