다음을 통해 공유


SQLPROPSET_OPTHINTS 속성 집합 프로그래밍

개별 OLE DB 공급자가 DBPROPVAL_SQL_SUBMINIMUM에 정의된 것 이외의 일부 SQL 기능을 지원할 수는 있지만, DBPROPVAL_SQL_ODBC_CORE나 DBPROPVAL_SQL_ANSI92_ENTRY의 모든 기능이 지원되지는 않습니다. SQL Server 쿼리 최적화 프로그램은 이러한 드라이브에서 지원하는 몇 가지 기능을 사용하여 분산 쿼리 성능을 향상시킬 수 있습니다. 이러한 공급자는 SQLPROPSET_OPTHINTS 속성 집합을 사용하여 SQL Server에 분산 쿼리 속도를 향상시키기 위해 지원하는 기능을 알립니다.

SQLPROPSET_OPTHINTS 속성 집합이 SQL Server 설명서에 정의되어 있긴 하지만 개별 OLE DB 공급자 개발자는 해당 공급자의 속성 집합에 코드 지원을 해야 합니다. 속성 집합에 대한 지원을 공급자에 코드화하면 SQL Server가 이를 사용하여 분산 쿼리 성능을 최적화합니다.

DBPROPVAL_SQL_ANSI92_ENTRY 또는 DBPROPVAL_SQL_ODBC_CORE를 지원하는 OLE DB 공급자에는 SQLPROPSET_OPTHINTS 속성 중 어느 것도 필요하지 않습니다(SQLPROP_DATELITERALS 제외). DBPROPVAL_SQL_ANSI92_ENTRY 또는 DBPROPVAL_SQL_ODBC_CORE 지원을 위해서 이 공급자는 SQLPROPSET_OPTHINTS 속성 집합(SQLPROP_DATELITERALS 제외)에 포함된 모든 기능을 지원해야 합니다.

다음 표에서는 SQLPROPSET_OPTHINTS를 통해 보고되는 속성을 나열합니다.

속성

설명

SQLPROP_ANSILIKE

ISO 초보 단계에 정의된 대로 %와 _ 와일드카드 문자가 있는 LIKE 절이 지원됨을 지정합니다.

SQLPROP_DATELITERALS

공급자가 Transact-SQL 구문별로 datetime 리터럴 또는 상수를 지원함을 지정합니다.

SQLPROP_DYNAMICSQL

공급자가 물음표(?)를 사용하여 ODBC 매개 변수 표식 구문을 지원함을 지정합니다. ).

SQLPROP_INNERJOIN

공급자가 WHERE 절에서 여러 개의 테이블에 대한 참조를 지원함을 지정합니다. 단, 테이블이 외부 조인 참조가 아니어야 합니다.

SQLPROP_GROUPBY

공급자가 SELECT 문에서 GROUP BY와 HAVING 절을 지원함을 지정합니다. 공급자가 AVG, COUNT, MIN, MAX, SUM 집계 함수를 지원함을 지정하기도 합니다. 단, DISTINCT가 집계 인수로 지정되지 않을 경우에 한합니다.

SQLPROP_NESTEDQUERIES

공급자가 FROM 절에서 중첩 SELECT 문을 지원함을 지정합니다.

SQLPROP_SQLLIKE

공급자가 SQL Server LIKE 구문을 지원함을 나타냅니다. SQLPROP_SQLLIKE가 설정된 경우 최적화 프로그램은 쿼리 계획에 맞는 경우 SQL Server LIKE 조건자가 포함된 쿼리를 원격 서버에 보낼 수 있습니다. SQLPROP_SQLLIKE가 해제된 경우 SQL Server LIKE 조건자는 항상 로컬로 평가됩니다.

SQLPROP_SUBQUERIES

공급자가 ISO 초급 단계에 정의된 대로 하위 쿼리를 지원함을 지정합니다.

다음은 OLE DB 공급자 코드에서 SQLPROPSET_OPTHINTS 속성 집합을 정의하기 위해 사용되는 상수입니다.

Extern const GUID SQLPROPSET_OPTHINTS =
{ 0x2344480c, 0x33a7, 0x11d1,
     { 0x9b, 0x1a, 0x0, 0x60, 0x8, 0x26, 0x8b, 0x9e }
};
enum SQLPROPERTIES
{
     SQLPROP_NESTEDQUERIES = 0x4,
     SQLPROP_DYNAMICSQL = 0x5,
     SQLPROP_GROUPBY = 0x6,
     SQLPROP_DATELITERALS = 0x7,
     SQLPROP_ANSILIKE = 0x8,
     SQLPROP_INNERJOIN = 0x9,
     SQLPROP_SUBQUERIES = 0x10,
     SQLPROP_SQLLIKE = 0x15
}