2012-01-26 2 views
2

필자는 이것을 간단하게 유지하려고합니다. 과거에 프로젝트에서 작업 해 왔었습니다. 사용하는 경향이있는 테이블에 링크하지 않고 Access에서 프런트 엔드로 데이터 저장소로 Oracle 또는 MS SQL 서버를 사용합니다. 대부분의 경우와 마찬가지로 레코드 집합을 열려면 각 데이터베이스에 대한 ADO 연결이 필요합니다. 쿼리가 서버에 대해 실행되고 결과가 로컬 PC에 저장되는 것이 아니라 반환 될 때 더 빠릅니다.MS Access 데이터베이스에 대한 ADO 쿼리, 성능 향상?

내 로컬 PC보다 처리 능력이 높은 서버 컴퓨터에 액세스 .mdb 파일을 배치 한 다음 ADO 연결을 사용하여 쿼리를 실행하면 (예 : Oracle/MS SQL), .mdb가 서버에 있기 때문에 성능이 향상됩니다. 또는 액세스 권한이 데이터베이스 서버가 아닌 파일 유형 데이터베이스이기 때문에 로컬 PC가 자동으로 작업을 수행합니까?

+0

파일 공유의 MDB에 대한 ADO 연결과 클라이언트 서버 데이터베이스에 대한 ADO 연결의 성능에 대한이 질문은 무엇입니까? – HansUp

+0

@HansUp 아니오, 표준 서버 C : 드라이브의 MDB 파일에 연결된 테이블을 사용하는 표준 쿼리를 사용하는 대용량 서버의 C : 드라이브에 저장된 MDB 파일에 대한 ADO 연결의 성능입니다. –

답변

4

아니요 더 느려질 수 있습니다. 쿼리는 여전히 클라이언트 측을 실행하며 맨 위에 네트워크 활동을 갖게됩니다.

액세스 응용 프로그램은 항상 클라이언트 측에서 실행됩니다. LDB 파일에서 Windows 파일 시스템 바이트 범위 잠금을 사용하여 잠금을 수행하면 Access의 여러 인스턴스에서 동일한 MDB 파일을 수정할 수 있습니다.

모든 코드가 클라이언트에서 실행되므로 네트워크를 통해 데이터를 보내야합니다. 서버가 MDB 파일로 수행하는 유일한 작업은 파일 서버로 작동합니다.

Access가 충분히 빠르지 않은 경우 SQL Server Express를 사용하십시오. SQL Server는 클라이언트 서버 시스템이므로 빠른 서버에 배치하면 도움이됩니다.

+0

저에게 건배, 나는 SQL Express 등을 사용하는 것이 좋습니다. 그러나이 방법으로 Access를 사용하면 서버가 쿼리를 실행하거나 클라이언트 측이 될지 궁금합니다. –

+0

@MattDonnan, 더 명확하게 업데이트되었습니다. – Ben

+0

다시 한 번 감사의 말씀을 전하고 싶습니다. (http://stackoverflow.com/questions/8896845/ms-access-cancel-execution-of-pass-thru-query-keyboard-shortcut) –

관련 문제