Rozwiązywanie problemów selektywności filtru mapy bitowej

Filtrowanie bitmap może znacznie poprawić wydajność kwerendy magazyn danych używających gwiazdy schematów usuwając wiersze kwalifikujących się na początku planu kwerend.Zmniejsza to wierszy przez operator łączyć i wszystkich kolejnych operatorów w udoskonalone kwerendy czasy odpowiedzi.W SQL Server 2008, filtrowanie bitmapy mogą być wprowadzone w plan kwerend po optymalizacji, lub dynamicznie przez optymalizator kwerendy podczas generowania planu kwerend.Gdy filtr zostanie wprowadzona dynamicznie, mówi się jako Zoptymalizowane filtr bitmap.Aby uzyskać więcej informacji o filtrowaniu bitmapy, zobacz Optymalizacja wydajności kwerendy magazynu danych poprzez filtrowanie bitmapy.

Problemy z wydajnością określonych bitmapowe filtrowanie występują tylko wtedy, gdy filtr bitmap staje się nonselective.Filtr nonselective bitmap tworzy niepotrzebne obciążenie podczas przetwarzania kwerendy i zamiast zwiększania wydajności, może być przyczyną wolniejszego wykonywania kwerendy.

Diagnozowanie i rozwiązywanie Nonselective filtrów bitmapy

Aby zdiagnozować i rozwiązać kwerendy wydajności problemów związanych z nonselective mapy bitowej filtry, wykonaj następujące kroki:

  1. Zidentyfikować kwerend, które powodują problemy z wydajnością.

    Użyj SQL Server Profiler do identyfikowania powolne kwerendy lub kwerend.Aby uzyskać więcej informacji, zobacz Za pomocą SQL Server Profiler.Można również analizować wydajność kwerendy przez produkujące Showplan, który może być tekst, XML lub graficzna reprezentacja plan wykonania kwerend, który generuje optymalizator kwerendy.Aby uzyskać więcej informacji, zobacz ZESTAW SHOWPLAN_TEXT (Transact-SQL), XML Showplans, i Wyświetlanie graficznego wykonanie planów (SQL Server Management Studio).

  2. Sprawdź, czy kwerend za pomocą filtrów bitmapy.

    Można przechwytywać planów kwerend za pomocą sys.dm_exec_query_plan (języka Transact-SQL) i sys.dm_exec_query_stats (języka Transact-SQL) sprawdzić, czy kwerenda faktycznie używa bitmapy filtrów.Alternatywnie można wyszukać filtry bitmapy w XML Showplan lub graficzny wykonanie planu kwerend.Aby uzyskać więcej informacji, zobacz Interpretowanie wykonanie planów zawierające filtry bitmapy.

  3. Sprawdź, czy filtrowanie mapy bitowej jest przyczyną problemów z wydajnością.

    Filtrowanie bitmapy jest stosowane tylko w przypadku planów kwerend równolegle, w których mieszania lub scalania sprzężenia są używane.Filtrowanie zoptymalizowane bitmapy jest stosowane tylko w przypadku planów kwerend równoległych mieszania, które są używane sprzężenia.Aby zweryfikować, że filtr bitmap jest wpływ na wydajność kwerendy, należy ręcznie wyłączyć filtrowanie, określając wskazówka łączyć pętli w instrukcja kwerendy mapy bitowej.Zmusza optymalizator, aby wybrać typ łączyć określone zamiast łączyć mieszania.Można także wyłączyć zoptymalizowane bitmapy, filtrowanie, określając wskazówka łączyć korespondencji seryjnej w instrukcja kwerendy.Aby uzyskać więcej informacji o korzystaniu z tych wskazówek, zobacz Dołącz wskazówek (Transact-SQL) i Wskazówki kwerendy (Transact-SQL).

  4. Użyj zdarzenie śledzenia Ostrzeżenie bitmapy śledzić kwerendy, w której bitmapy filtry są wyłączone.

    Domyślnie optymalizator kwerendy wyłącza automatyczne filtry nonselective mapy bitowej.Zdarzenie śledzenia fires, spróbuj wyeliminowania przyczyn, które filtr bitmap stały się nonselective.Mapa bitowa filtru nie selektywności może mieć następujące przyczyny:

    • Niewłaściwe Kardynalność szacunki dokonane przez optymalizator kwerendy.

      SQL Server oszacowania cardinalities głównie z histogramy utworzone po indeksy lub statystyki są tworzone, ręcznie lub automatycznie.Poza-o-data statystyk i brak indeksów może spowodować niepoprawne Kardynalność szacunków, powodując obliczenia kosztów niedokładne, które mogą powodować planów kwerend warunkami panującymi.Tworzenie indeksów przydatne lub statystyki kolumn, które są zaangażowane w kwerendzie. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z niską wydajność kwerendy: Kardynalność oszacowania.

    • Ciśnienie pamięci w systemie.

      W systemie obciążonego pod ciśnieniem pamięci kwerend z filtrami bitmapy w plan kwerend można upuścić operator bitmapy podczas kwerendy nie otrzymać minimalne wymagane pamięci, aby utworzyć mapę bitową.Monitor systemu służy do monitorowania wydajności SQL Server i -SQL Server składników, które mogą być przyczyną presji pamięci w systemie.Na przykład można użyć obiektu Menedżera pamięci w celu monitorowania ogólnego użycia pamięci serwera.Aby uzyskać więcej informacji, zobacz Monitorowanie wykorzystania zasobów (Monitor systemu).Aby uzyskać informacje dotyczące rozwiązywania problemów z pamięcią ciśnienia, zobacz Rozwiązywanie problemów z wydajnością w programie SQL Server 2005.

    • Za mało wątków, aby uruchomić kwerendę równolegle.

      Mapa bitowa filtry są stosowane tylko w plan kwerend równolegle.Gdy nie mogą być spełnione wymagania wątek planu równoległego do określonego stopnia równoległości prostych, Aparat baz danych automatycznie zmniejsza stopień równoległości prostych lub całkowicie odstępuje planu równoległego w kontekście określonego obciążenia.Następnie wykonuje plan szeregowe (jeden wątek).Aby uzyskać więcej informacji, zobacz Stopień równoległości prostych.