Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Managed Instance
W tym artykule opisano sposób konfigurowania cost threshold for parallelism opcji konfiguracji serwera w programie SQL Server przy użyciu programu SQL Server Management Studio lub Transact-SQL.
Informacje o progu kosztu dla równoległości
Opcja cost threshold for parallelism określa próg, przy którym program SQL Server uwzględnia plany równoległe na komputerach z więcej niż jednym procesorem logicznym. Opcję cost threshold for parallelism można ustawić na dowolną wartość od 0 do 32 767.
Koszt to suma oszacowanych kosztów operatorów w planie zapytania (na przykład kosztu procesora i operacji wejścia/wyjścia). Jest to względna miara służąca wyłącznie do wyboru planu wykonania; nie mierzy rzeczywistego czasu wykonywania.
Niektóre Transact-SQL składniki mogą hamować plan równoległy. Na przykład nieliniowe funkcje zdefiniowane przez użytkownika (UDF), modyfikacje zmiennych tabeli i niektóre wywołania systemowe. Program SQL Server ocenia alternatywy równoległe tylko wtedy, gdy szacowany koszt najlepszego planu szeregowego przekracza cost threshold for parallelism wartość, a następnie może wybrać tańszy plan równoległy.
Ograniczenia
Program SQL Server ignoruje cost threshold for parallelism wartość w następujących warunkach:
Komputer ma tylko jeden procesor logiczny.
Tylko jeden procesor logiczny jest dostępny dla programu SQL Server ze względu na
affinity maskopcję konfiguracji.Opcja konfiguracji serwera
max degree of parallelismjest ustawiona na1.
Rekomendacje
Ta opcja jest opcją zaawansowaną i powinna zostać zmieniona tylko przez doświadczonych specjalistów w dziedzinie bazy danych.
Domyślna wartość 5 jest punktem wyjścia, a nie zaleceniem. W nowoczesnych systemach SQL Server zwiększenie tej wartości może pomóc utrzymać wykonywanie mniejszych zapytań OLTP z planami szeregowymi. Używaj małych przyrostów i obserwuj pełny cykl biznesowy przed dalszymi zmianami. W razie potrzeby przeprowadź testowanie aplikacji z wyższymi i niższymi wartościami, aby zoptymalizować wydajność aplikacji.
Uwaga / Notatka
W usłudze Azure SQL Database nie można ustawić cost threshold for parallelism. Zamiast tego użyj MAXDOP do kontrolowania równoległości. Aby uzyskać więcej informacji, zobacz Zmienianie domyślnego parametru MAXDOP w usługach Azure SQL Database i Azure SQL Managed Instance.
W niektórych przypadkach może zostać wybrany plan równoległy, mimo że koszt planu wykonania zapytania jest mniejszy niż bieżąca wartość parametru cost threshold for parallelism. Decyzja o użyciu planu równoległego lub szeregowego jest oparta na szacowaniu kosztów podanym wcześniej w procesie optymalizacji. Aby uzyskać więcej informacji, zobacz Przewodnik po architekturze przetwarzania zapytań.
Uwagi
Aby sprawdzić, czy cost threshold for parallelism opcja konfiguracji serwera jest zbyt wysoka lub zbyt niska dla obciążenia, poszukaj poniższych wskaźników.
| Próg kosztów dla ustawienia równoległości | Description |
|---|---|
| Za mało | — Zbyt wiele zapytań mało obciążających procesor jest wykonywanych równolegle. - W Magazynie zapytań wiele planów ma ustawienie is_parallel_plan o wartości 1.- CXPACKET i CXCONSUMER dominują statystyki typów oczekiwania. Możesz również zobaczyć stany oczekiwania THREADPOOL i SOS_SCHEDULER_YIELD. |
| Zbyt wysoka | — Zbyt mało zapytań intensywnie obciążających procesor jest wykonywanych równolegle, w efekcie czego wykorzystanie procesora jest wyższe niż optymalne. - SOS_SCHEDULER_YIELD dominuje w statystykach typów oczekiwania. |
Permissions
Uprawnienia do wykonywania na sp_configure, bez parametrów lub tylko z pierwszym parametrem, są domyślnie przyznawane wszystkim użytkownikom. Aby wykonać sp_configure z obu parametrami w celu zmiany opcji konfiguracji lub uruchomienia instrukcji RECONFIGURE, użytkownik musi posiadać uprawnienia ALTER SETTINGS na poziomie serwera. Uprawnienie ALTER SETTINGS jest niejawnie posiadane przez sysadmin i serveradmin role stałe serwera.
Korzystanie z programu SQL Server Management Studio
W Eksploratorze obiektów kliknij prawym przyciskiem myszy serwer i wybierz polecenie Właściwości.
Wybierz węzeł Zaawansowany .
W obszarze Równoległość zmień
cost threshold for parallelismopcję na odpowiednią wartość. Wpisz lub wybierz wartość z zakresu od 0 do 32 767.
Korzystanie z Transact-SQL
W tym przykładzie pokazano, jak użyć sp_configure , aby ustawić wartość cost threshold for parallelism na 20.
USE master;
GO
EXECUTE sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'cost threshold for parallelism', 20;
GO
RECONFIGURE;
GO
EXECUTE sp_configure 'show advanced options', 0;
GO
RECONFIGURE;
GO
Aby uzyskać więcej informacji, zobacz opcje konfiguracji serwera .
Następny krok: po skonfigurowaniu opcji progu kosztu dla równoległości
Ustawienie zostanie zastosowane natychmiast bez ponownego uruchomienia serwera.
Treści powiązane
- Konfigurowanie równoległych operacji indeksowania
- wskazówki dotyczące zapytań (Transact-SQL)
- ALTER WORKLOAD GROUP (Transact-SQL)
- Konfiguracja serwera: maska koligacji
- KONFIGURUJ PONOWNIE (Transact-SQL)
- opcje konfiguracji serwera
- sys.sp_configure (Transact-SQL)