Optymalizacja kwerend rozproszonych
Aby zwiększyć wydajność, SQL Server wykonuje następujące typy określone dla kwerendy rozproszone optymalizacji:
Wykonywanie kwerend z dostawcy OLE DB SQL polecenia.
Dostawcy OLE DB jest uważana za dostawcy polecenia SQL, jeśli dostawca OLE DB musi spełniać następujące wymagania minimalne:
Obsługuje Polecenie obiekt i wszystkie wymagane interfejsy.
Obsługuje składnię SUBMINIMUM SQL DBPROPVAL, ISO zapis poziom lub wyższym lub ODBC poziom Core lub wyższym.Dostawca powinien udostępnić na tym poziomie dialekt za pośrednictwem właściwość DBPROP_SQLSUPPORT OLE DB.
Indeksowane dostępu z dostawcy OLE DB indeksu.
Dostawcy OLE DB jest uważana za dostawcą indeksu, jeśli dostawca OLE DB musi spełniać następujące wymagania minimalne:
Obsługuje IDBSchemaRowset interfejs z wierszy schematu tabele, COLUMNS i INDEKSÓW.
Obsługuje otwarcie zestawu zestaw wierszy na indeks za pomocą IOpenRowset , określając nazwę indeksu i odpowiadające im nazwy tabela bazowa.
The Index object should support all its mandatory interfaces: IRowset, IRowsetIndex, IAccessor, IColumnsInfo, IRowsetInfo, and IConvertTypes.
Zestawy wierszy otwarty indeksowanej tabela bazowa, przy użyciu IOpenRowset, powinien obsługiwać IRowsetLocate interfejs do pozycjonowania na podstawie wyłącza zakładkę wiersza jest pobierana z indeksu.
Zdalne wykonanie kwerendy
SQL Server próbuje przekazać tyle oceny kwerenda rozproszona do dostawca polecenia SQL, jak to możliwe.Kwerenda SQL, który uzyskuje dostęp do tylko tabele zdalnego przechowywaną w źródle danych dostawca jest z oryginalnej kwerenda rozproszona i wykonywane przed dostawca.Zachowanie to zmniejsza liczbę wierszy zwracanych przez dostawca i umożliwia dostawca umożliwia jej indeksów w ocenie tej kwerendy.
Uwagi dotyczące wpływających na to, jaka część oryginalnego rozpowszechniane kwerenda pobiera delegowane do polecenia SQL dostawca obejmują następujące:
Poziom dialekt obsługiwany przez dostawca polecenia SQL
Zgodność sortowanie
Dialekt poziom jest obsługiwana przez dostawca polecenia SQL
SQL Server Deleguje operacje tylko wtedy, gdy są one obsługiwane przez określony dialekt poziom.Poziomy dialekt od najwyższego do najniższego to: SQL ServerPoziom zapis ISO, podstawowych ODBC, a dla aparatu Jet.Im wyższa dialekt poziom, więcej czynności SQL Server można delegować do dostawca.
Uwaga
The SQL Server dialekt poziom is used when the dostawca corresponds to a SQL Server serwer połączony.
Każdy poziom dialekt jest podzbiorem niższego poziomu.W związku z tym jeśli operacja jest delegowana do określonego poziom, operacja jest również delegowane wszystkie wyższe poziomy.
Kwerendy, które mogą obejmować bit i uniqueidentifer typy danych nie są delegowane do dostawca i są obliczane zawsze lokalnie.
Jeśli jest wyłączona, opcja zestaw CONCAT_NULL_YIELDS_NULL ciąg łączenie jest zawsze wykonywane lokalnie.
Następujące elementy operacji i składni są delegowane do poziom dialekt wskazanego i wszystkie wyższe poziomy:
SQL Server: łączyć zewnętrzne, moduł, ROLLUP, modulo operator (%), operatory bitowe ciąg funkcje oraz funkcje systemowe arytmetycznych.
Poziom zapis ISO: UNION i UNION ALL.
Podstawowe ODBC: Funkcje agregacja za pomocą DISTINCT, i ciąg stałych.
Aparat Jet: Funkcje agregujące bez DISTINCT, sortowania (ORDER BY), sprzężenia wewnętrzne, predykatów, podkwerendą operatory (EXISTS, ALL, W niektórych,), DISTINCT, operatory arytmetyczne nie wymienione w wyższych poziomów, stałe niewymienione na wyższych poziomach, a wszystkie operatory logiczne.
Na przykład wszystkie operacje, z wyjątkiem tych, które obejmują moduł, ROLLUP, łączyć zewnętrzne, modulo operator (%), operatory bitowe, funkcje tekstowe i arytmetyczne systemu funkcje są delegowane do dostawca poziom zapis ISO, który nie jest również SQL Server.
Sortowanie zgodności
For a distributed query, the comparison semantics for all character data is defined by the character set and sort order of the local instance of SQL Server.SQL Server supports multiple collations.Collations can be different for each column, and each character value has an associated collation property.SQL Server interprets the collation property of character data from a remote data source and treats it accordingly.Aby uzyskać więcej informacji na temat sortowanie kolumn zdalnego Zobacz Collations in Distributed Queries.
SQL Server można delegować ORDER BY operacji na kolumnach znaków i porównań na dostawca tylko wtedy, gdy można rozważyć następujące czynniki:
urządzenie źródłowe danych używa zestaw sekwencji i znaków sortowanie kolumna.
Znak semantyka porównania ISO należy postępować zgodnie z a SQL Server, standardowe.
W temacie Sortowanie w Distributed Queries podsumowuje jak SQL Server Określa sortowania dla każdej kolumna. Jeśli urządzenie źródłowe danych zdalnego obsługuje tę sortowanie, dostawca, jest uważany za sortowanie zgodny.
Inne uwagi dotyczące obsługi programu SQL
Następujące elementy składni SQL nie jest ustawieniem poziomu dialekt SQL:
kwerenda zagnieżdżona obsługi
Jeśli dostawca obsługuje kwerend zagnieżdżonych (podkwerendy) SQL Server można delegować te operacje do dostawcy. Ponieważ obsługę kwerend zagnieżdżonych nie może być automatycznie określana na podstawie właściwości OLE DB, administrator systemu powinny zestaw NestedQueries dostawca opcję, aby wskazać SQL Server czy usługodawca obsługuje kwerend zagnieżdżonych.
Obsługa znacznik parametru
Jeśli dostawca obsługuje kwerendy parametryczne wykonywanie za pomocą ? znacznik parametru kwerendy, SQL Server można delegować wykonywanie kwerend parametrycznych do dostawcy. Ponieważ obsługa znacznik parametru nie może być automatycznie określana na podstawie właściwości OLE DB, należy ustawić administrator systemu DynamicParameters dostawca opcję, aby wskazać SQL Server czy usługodawca obsługuje parametru.
LIKE pomocy technicznej
Jeśli dostawca obsługuje LIKE operator, jak w SQL Server Składnia i semantyka, SqlServerLikezestaw opcję Dostawca wskazują pomocy technicznej.
Aby uzyskać więcej informacji na temat ustawiania tych opcji dostawca Zobacz Configuring OLE DB Providers for Distributed Queries.
Program Access indeksowanych
SQL Server można użyć strategii wykonywania dotyczących oceny predykatów i wykonywania operacji sortowania dla tabel zdalnego przy użyciu indeksy dostawca indeksu.Aby włączyć dostęp indeksowanych względem dostawca, zestaw IndexAsAccessPath opcję dostawca.
Ponadto, gdy używasz indeksy, które obejmują znaków kolumny, ustawić Sortowanie zgodny Opcja konfiguracja serwera połączone true dla odpowiedniego serwer połączony. Aby uzyskać więcej informacji zobaczsp_serveroption (Transact-SQL).
Uwaga
Za pomocą graficznej plan wykonania SQL Server Management Studio Aby określić plan wykonania dla danej kwerenda rozproszona. Podczas wykonywania kwerend jest zatrudniony w plan wykonania, jest przedstawiany za pomocą Zdalne kwerendy operator logicznych i fizycznych.Argument ten operator zawiera kwerendy wykonywane zdalnie.