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
}