Optymalizacja kwerend rozproszonych

Aby zwiększyć wydajność, SQL Server wykonuje następujące typy optymalizacji określonych kwerendami rozproszonymi:

  • Wykonywanie kwerend z dostawcy OLE DB polecenia SQL.

    Dostawcy OLE DB jest uważany za dostawcy polecenia SQL, jeśli dostawca OLE DB spełnia następujące minimalne wymagania:

    • Obsługuje polecenia obiekt i wszystkie wymagane interfejsy.

    • Obsługuje składni SUBMINIMUM SQL DBPROPVAL lub ISO na wpis poziom lub nowszej, lub ODBC na podstawowe poziom lub nowszej.Dostawca powinien ujawnić ten poziom dialekt za pośrednictwem właściwość DBPROP_SQLSUPPORT OLE DB.

  • Indeksowane dostępu z dostawcy OLE DB indeksu.

    Dostawcy OLE DB jest uważany za dostawcę indeksu, jeśli dostawca OLE DB spełnia następujące minimalne wymagania:

    • Obsługuje IDBSchemaRowset interfejs z tabel, kolumn i INDEKSY zestawów wierszy schematu.

    • Obsługuje otwarcie zestawu zestaw wierszy na indeks za pomocą IOpenRowset określając nazwę indeksu i odpowiadających im tabela bazowa nazwy.

    • Indeksu obiektu powinien obsługiwać wszystkie obowiązkowe interfejsów: IRowset, IRowsetIndex, IAccessor, IColumnsInfo, IRowsetInfo, i IConvertTypes.

    • Za pomocą zestawów wierszy otwierać indeksowanej tabela bazowa IOpenRowset, powinien obsługiwać IRowsetLocate interfejs dla pozycjonowanie na wiersz poza zakładki pobranych z indeksu.

Zdalne wykonanie kwerendy

SQL Server próbuje delegować tyle oceny zapytanie rozproszone dostawca polecenia SQL, jak to możliwe.Kwerenda SQL uzyskującego dostęp tylko tabele zdalnego przechowywane w danych źródło z dostawca jest ekstrahowany z oryginalnej zapytanie rozproszone i wykonywane przez dostawca.Zachowanie to zmniejsza liczbę wierszy zwracanych przez dostawca i umożliwia jej indeksów w ocenie kwerendy za pomocą dostawca.

Rozważania, które wpływają na wiele oryginał zapytanie rozproszone pobiera delegowane do dostawca polecenia SQL obejmują:

  • Poziom dialekt obsługiwane przez dostawca polecenia SQL

  • Sortowanie zgodności

Dialekt poziomu są obsługiwane przez dostawcę polecenia SQL

SQL Server Deleguje operacje tylko wtedy, gdy są one obsługiwane przez poziom określonego dialekt.Dostępne są następujące poziomy dialekt od najwyższego do najniższego: SQL ServerPoziom wejścia ISO, ODBC core i Jet.Im wyższy poziom dialekt, więcej operacji SQL Server można delegować do dostawca.

Ostrzeżenie

SQL Server Poziom dialekt jest używany, gdy dostawca odpowiada SQL Server serwer połączony.

Każdy poziom dialekt jest podzbiorem niższe poziomy.Dlatego operacja jest delegowana do określonego poziom, również delegowane operacji do wszystkie wyższe poziomy.

Kwerendy, które obejmują bit i uniqueidentifer typów danych nigdy nie są delegowane do dostawca i są obliczane zawsze lokalnie.

Gdy opcja SET CONCAT_NULL_YIELDS_NULL jest wyłączona, ciąg łączenie jest zawsze wykonywane lokalnie.

Operacje/składni następujących elementów są delegowane do poziom dialekt wskazanego i wszystkie wyższe poziomy:

  • SQL Server: łączyć zewnętrzne, modułu, pakiet zbiorczy aktualizacji, modulo operator (%), operatory bitowe ciąg funkcje i funkcje systemowe arytmetycznych.

  • Poziom wejścia ISO: Unia i UNION ALL.

  • ODBC Core: Funkcje agregacji DISTINCT i stałych ciąg.

  • Jet: Zagregowane funkcje bez DISTINCT, sortowania (ORDER BY), sprzężenia wewnętrzne, predykatów, podzapytanie operatorów (EXISTS, wszystkich, W niektórych,), DISTINCT, niewymienione w wyższych poziomów stałych nie wymienione w wyższych poziomów operatory arytmetyczne i wszystkie operatory logiczne.

    Na przykład wszystkie operacje z wyjątkiem tych obejmujących modułu ZBIORCZEGO, sprzężenie zewnętrzne, modulo operator (%), operatory bitowe ciąg funkcji i funkcje systemowe arytmetycznych są delegowane do poziom dostawca zapis ISO i 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.Więcej informacji na temat sortowanie kolumn zdalnego, zobacz Sortowania w kwerendami rozproszonymi.

SQL Servermożna delegować porównań i ORDER BY operacji na kolumnach znaków dostawca tylko wtedy, gdy można określić następujące:

  • źródło danych używa zestaw znaków i sekwencji sortowanie kolumna.

  • Semantyka porównanie znaków postępuj zgodnie z ISO i SQL Server, standard.

Temat sortowanie w kwerendach rozproszonych podsumowuje jak SQL Server Określa sortowanie dla każdej kolumna.Jeśli dane zdalne źródło obsługuje sortowanie tego, dostawca jest uważany za sortowanie zgodny.

Inne uwagi dotyczące obsługi programu SQL

Następujące elementy składni SQL nie są ustawieniem poziomy dialekt SQL:

  • Obsługa kwerend zagnieżdżonych

    Jeśli dostawca obsługuje kwerend zagnieżdżonych (podkwerendy) SQL Server można oddelegować te operacje do dostawcy.Ponieważ obsługa zapytanie zagnieżdżone nie może automatycznie ustalane na podstawie właściwości OLE DB, należy administrator systemu zestaw NestedQueries opcja dostawcy do wskazania SQL Server że dostawca obsługuje zapytanie zagnieżdżone.

  • Obsługa znacznik parametru

    Jeśli dostawca obsługuje wykonywanie sparametryzowanych kwerend za pomocą ? znacznik parametru w kwerendzie SQL Server można delegować wykonywanie kwerend parametrycznych do dostawcy.Ponieważ obsługa znacznik parametru nie można automatycznie ustalane na podstawie właściwości OLE DB, należy administrator systemu zestaw DynamicParameters opcja dostawcy do wskazania SQL Server że dostawca obsługuje parametr znaczników.

  • Podobnie jak obsługa

    Jeśli dostawca obsługuje LIKE operator w SQL Server Składnia i semantyka, SqlServerLike zestaw opcję Dostawca wskazują obsługi.

    Aby uzyskać więcej informacji o ustawianiu tych opcji dostawca, zobacz Konfigurowanie dostawców OLE DB dla kwerend rozproszonych.

Indeksowane dostępu

SQL Server można użyć wykonanie strategie, które wymagają oceny predykatów i wykonywania operacji sortowania dla tabel zdalnego przy użyciu indeksy dostawca indeksu.Aby włączyć dostęp indeksowanych przeciwko dostawca, zestaw IndexAsAccessPath opcję dostawca.

Ponadto przy użyciu indeksy, które obejmują kolumnach znaków zestaw sortowanie zgodny połączone opcję konfiguracja serwera, aby true dla odpowiedniego serwer połączony.Aby uzyskać więcej informacji, zobacz sp_serveroption (języka Transact-SQL).

Ostrzeżenie

Za pomocą graficznej plan wykonania SQL Server Management Studio do ustalenia planu wykonania danej zapytanie rozproszone.Podczas wykonywania kwerend jest zatrudniony w plan wykonania, jest przedstawiany za pomocą Zdalnego kwerendy operator logicznych i fizycznych.Argument ten operator zawiera kwerendy wykonywane zdalnie.