Udostępnij za pośrednictwem


Programming the SQLPROPSET_OPTHINTS Property Set

Poszczególnych dostawców OLE DB mogą obsługiwać niektóre funkcje SQL poza zdefiniowanym w DBPROPVAL_SQL_SUBMINIMUM, ale nie wszystkie funkcje w DBPROPVAL_SQL_ODBC_CORE lub DBPROPVAL_SQL_ANSI92_ENTRY.The SQL Server optymalizator kwerendy can use some of the functionality supported by these drivers to increase the performance of distributed queries. Tych dostawców można użyć SQLPROPSET_OPTHINTS zestaw właściwość do informowania SQL Server obsługują one funkcje, można przyspieszyć kwerendami rozproszonymi.

Mimo że zestaw właściwość SQLPROPSET_OPTHINTS jest zdefiniowany w SQL Server dokumentacja, Każdy deweloper dostawca OLE DB musi kodu obsługi dla właściwość w ich dostawców. Po pomocy technicznej dla tej właściwość jest kodowana zestaw do dostawca, SQL Server używa go do optymalizacji wydajności kwerendami rozproszonymi.

Dostawców OLE DB, który obsługuje DBPROPVAL_SQL_ANSI92_ENTRY lub DBPROPVAL_SQL_ODBC_CORE jednej właściwości SQLPROPSET_OPTHINTS, z wyjątkiem SQLPROP_DATELITERALS nie jest konieczne.Ci dostawcy musi obsługiwać wszystkich funkcji objętych zestaw (z wyjątkiem o SQLPROP_DATELITERALS), aby móc skorzystać z obsługi DBPROPVAL_SQL_ANSI92_ENTRY lub DBPROPVAL_SQL_ODBC_CORE właściwość SQLPROPSET_OPTHINTS.

Poniższa tabela zawiera listę właściwości, które zostały zgłoszone przez SQLPROPSET_OPTHINTS.

Właściwość

Description

SQLPROP_ANSILIKE

Określa klauzula LIKE jest obsługiwane zgodnie z definicją w poziomie zapis ISO ze znaków wieloznacznych % i _.

SQLPROP_DATELITERALS

Określa, że dostawca obsługuje datetime Literały lub stałe, według Transact-SQL Składnia.

SQLPROP_DYNAMICSQL

Określa dostawca obsługuje składnię znacznik parametru ODBC przy użyciu znaków zapytania) ? ).

SQLPROP_INNERJOIN

Określa, dostawca obsługuje odwołania do wielu tabel w klauzula WHERE, dopóki nie są one łączyć zewnętrzne odwołania.

SQLPROP_GROUPBY

Określa dostawca obsługuje klauzule GROUP BY i HAVING w instrukcja SELECT.Właściwość określa również dostawca obsługuje funkcje agregujące AVG, ile.liczb, MIN, MAX, a agregacja tak długo, jak DISTINCT nie jest określony jako argument agregacja.

SQLPROP_NESTEDQUERIES

Określa dostawca obsługuje zagnieżdżonych instrukcji SELECT w klauzula FROM.

SQLPROP_SQLLIKE

Wskazuje, że dostawca obsługuje SQL Server LIKE składni. Po włączeniu SQLPROP_SQLLIKE, Optymalizator mogą wysyłać kwerendy zawierającej SQL Server Podobnie jak predykat do zdalnego serwera, jeśli w ten sposób jest uzasadnione planu kwerend. Jeżeli SQLPROP_SQLLIKE jest wyłączona, SQL Server Predykacie LIKE jest obliczane zawsze lokalnie.

SQLPROP_SUBQUERIES

Określa dostawca obsługuje podkwerend określone poziom zapis ISO.

Stałe, które służą do definiowania właściwość SQLPROPSET_OPTHINTS w kodzie dostawców OLE DB są następujące:

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
}