FIX: 비효율적인 Jet OLEDB 공급자에 LIKE 절 사용

기술 자료 번역 기술 자료 번역
기술 자료: 311159 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

Microsoft Jet OLEDB 공급자 4.0 사용하여 SQL 쿼리를 실행할 때 연결된 SQL Server 테이블로 LIKE 절을 적용할 LIKE 절은 제대로 Microsoft Jet 쿼리 프로세서는 SQL Server에 전달되지 않습니다. 모든 행을 먼저 SQL Server에서 로컬로 Jet에서 검색되는 때문에 효율성이 전반적인 쿼리에서 발생합니다.

모든 행을 로컬로 Jet에서 검색한 다음 LIKE 절을 내부적으로 최종 결과 때문에 최종 결과가 같은 행 집합을 결과를 클라이언트로 다시 보내기 전에 적용되지 않음을 유의하십시오.

해결 방법

이 문제를 해결하려면 최신 Microsoft Jet 4.0 서비스 팩을 설치하십시오. 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
239114방법: Microsoft Jet 4.0 데이터베이스 엔진의 최신 서비스 팩을 구하는합니다

현재 상태

Microsoft 문제는 이 문서의 시작 부분에 나열한 제품에서 문제를 확인했습니다. 이 문제는 Jet 4.0 서비스 팩 6 (SP6) 수정되었습니다.

추가 정보

문제를 재현하기 위한 단계

  1. "C:\DB1.MDB" 라는 새 Access 데이터베이스를 만듭니다.
  2. Microsoft Access에서 C:\DB1.MDB 열고 SQL Server 서버에 pubs 데이터베이스에 있는 authors 테이블에 연결된 테이블을 만듭니다. dbo_authors 기본 연결된 테이블의 이름을 유지하십시오.
  3. Microsoft Jet OLEDB 공급자 4.0 Access 데이터베이스 C:\DB1.MDB에 대해 다음 쿼리를 실행합니다.
    SELECT * from dbo_authors WHERE state LIKE 'M%'
    					
SQL Server 프로파일러 유틸리티를 사용하여 백 엔드 SQL Server 서버를 모니터링할 경우 다음 SQL 문을 SQL Server를 authors 테이블에서 모든 행을 검색한 후 Microsoft Jet 쿼리 최적화 프로그램은 LIKE 조건을 적용하는 나타내는 보내지도록 볼 수 있습니다. 중요하지 않은 모든 SQL 문에 제거된, 및 주석을 Microsoft Jet에서 보낸 여러 SQL 문을 설명하기 위해 추가된 유의하십시오.
-- This is sent first by Jet to fetch all key values.  
-- Note that WHERE state LIKE 'M%' is not applied here.

SELECT au_id, state FROM authors 

-- This retrieves a single row using the first key value retrieved by the
-- above SQL statement. Jet will apply the LIKE clause internally
-- before retrieving the first row.

SELECT au_id,au_lname,au_fname,phone,address,city,state,zip,contract  
FROM dbo.authors WHERE au_id = @P1 
				
Microsoft Access ODBC 드라이버를 사용하여 동일한 SQL 쿼리를 실행할 경우, LIKE 절을 제대로 SQL Server에 훨씬 더 효율적인 전반적인 쿼리에서 발생하는 첫 번째 SQL 문에 전달됩니다.

속성

기술 자료: 311159 - 마지막 검토: 2005년 10월 12일 수요일 - 수정: 1.4
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft OLE DB Provider for Jet 4.0
키워드:?
kbmt kbhotfixserver kbqfe kbbug kbfix kbqfe KB311159 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
더 이상 지원되지 않는 제품의 KB 내용에 대한 고지 사항
이 문서에서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 설명합니다. 따라서 이 문서는 "있는 그대로" 제공되며 업데이트되지 않습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com