Poprawka: Niska wydajność podczas uruchamiania kwerendy która zawiera skorelowany predykatów I SQL Server 2008 lub SQL Server 2008 R2 lub SQL Server 2012

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 2658214 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Microsoft rozprowadza Microsoft SQL Server 2008 R2 lub 2008 Microsoft SQL Server lub Microsoft SQL Server w 2012 r. ustala się w jednym pliku do pobrania. Ponieważ poprawki są zbiorcze, każde nowe wydanie zawiera wszystkie poprawki i wszystkie aktualizacje zabezpieczeń, które zostały dołączone do poprzedniego programu SQL Server 2008 R2 lub SQL Server 2008 lub Microsoft SQL Server 2012 wydania aktualizacji.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Symptomy

Rozważmy następujący scenariusz. Możesz uruchomić kwerendę, która zawiera kilka predykatów I 2008 Microsoft SQL Server, Microsoft SQL Server 2008 R2 lub Microsoft SQL Server 2012. Warunki i predykaty są skorelowane. W tym scenariuszu doświadczenia niskiej wydajności w programie SQL Server 2008. Na przykład ten problem występuje po uruchomieniu kwerendy, podobny do następującego:
(column1 = constant1 or column1 = constant2 or …) and (column2 = constant3 or column2 = constant4 or …) and …

Przyczyna

Ten problem występuje, ponieważ optymalizator kwerend wybiera plan kwerend nieefektywne, jeśli kwerenda zawiera skorelowany predykatów I . Gdy szacunkowa liczba wierszy spełnia warunki i predykatu, SQL Server zakłada, że wszystkie warunki są niezależne. Jeśli warunki są skorelowane, SQL Server nisko Kardynalność dla predykatów I .

Rozwiązanie

Aby rozwiązać ten problem, należy zastosować następującą aktualizację zbiorczą. Po zastosowaniu tej aktualizacji należy włączyć flagę śledzenia 4137 dodanie nowej logiki do oszacowania Kardynalność predykatów I .

UwagaTa aktualizacja dotyczy tylko filtr predykatów.

Zbiorcza aktualizacja informacji

Dodatek Service Pack 3 dla programu SQL Server 2008

Poprawka rozwiązująca ten problem został wydany w zbiorczej aktualizacji 7 dla dodatku Service Pack 3 dla programu SQL Server 2008. Aby uzyskać więcej informacji na temat uzyskania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2738350 Skumulowany pakiet aktualizacji 7 dla dodatku Service Pack 3 dla programu SQL Server 2008
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i dołączone do poprzedniego programu SQL Server 2008 Service Pack 3 dla poprawki zabezpieczeń ustalić wersji. Zaleca się, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2629969 SQL Server 2008 buduje wydane po wydaniu dodatku Service Pack 3 dla programu SQL Server 2008

Program SQL Server 2012

Poprawkę dotyczącą tego problemu został wydany w zbiorczej aktualizacji 1 dla programu SQL Server 2012. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2679368 Zbiorczy pakiet aktualizacji 1 dla programu SQL Server 2012
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzednich 2012 serwera SQL ustalić wersji. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2692828 SQL Server 2012 tworzy wydane po wydaniu programu SQL Server 2012
Należy zastosować poprawkę programu SQL Server 2012 instalacji programu SQL Server 2012.

Dodatek Service Pack 1 dla programu SQL Server 2008 R2

Poprawka rozwiązująca ten problem został wydany w zbiorczej aktualizacji 5 dla dodatku Service Pack 1 dla programu SQL Server 2008 R2. Aby uzyskać więcej informacji na temat uzyskania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2659694 Skumulowany pakiet aktualizacji 5 dla dodatku Service Pack 1 dla programu SQL Server 2008 R2
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i dołączone do poprzedniego programu SQL Server 2008 R2 poprawki zabezpieczeń ustalić wersji. Zaleca się, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2567616 SQL Server 2008 R2 buduje wydane po wydaniu dodatku Service Pack 1 dla programu SQL Server 2008 R2

SQL Server 2008 Z dodatkiem Service Pack 2

Poprawka usuwająca ten problem został wydany w Zbiorcza aktualizacja 8 dla dodatku Service Pack 2 dla programu SQL Server 2008. Aby uzyskać więcej informacji na temat tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2648096 8 Zbiorczy pakiet aktualizacji dla dodatku Service Pack 2 dla programu SQL Server 2008
Uwaga Ponieważ kompilacje kumulują się, każde nowe wydanie poprawka zawiera wszystkie poprawki i dołączone do poprzedniego programu SQL Server 2008 poprawki zabezpieczeń ustalić wersji. Firma Microsoft zaleca, aby rozważyć zastosowanie najnowszej wersji poprawki, zawierający tę poprawkę. Aby uzyskać więcej informacji kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2402659 SQL Server 2008 buduje wydane po wydaniu dodatku Service Pack 2 dla programu SQL Server 2008
Microsoft SQL Server 2008 poprawki są tworzone dla określonych dodatków service Pack dla programu SQL Server. Do instalacji dodatku Service Pack 2 dla programu SQL Server 2008, należy zastosować poprawki w dodatku Service Pack 2 dla programu SQL Server 2008. Wszelkie poprawki w dodatku service pack dla programu SQL Server jest uwzględniana w następnym dodatku service pack dla programu SQL Server.

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Materiały referencyjne

Więcej informacji o przyrostowych modelu obsługi programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
935897 Przyrostowe modelu obsługi jest dostępne z programu SQL Server zespół poprawek zgłoszonych problemów
Aby uzyskać informacje dotyczące schematu nazewnictwa dla aktualizacji programu SQL Server kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
822499Schemat nazewnictwa dla pakietów aktualizacji oprogramowania Microsoft SQL Server
Aby uzyskać więcej informacji dotyczących terminologii aktualizacji oprogramowania kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft

Właściwości

Numer ID artykułu: 2658214 - Ostatnia weryfikacja: 17 września 2012 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
Słowa kluczowe: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2658214 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to: 2658214

Przekaż opinię

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com