Jakie jest znaczenie DOP w kontekście serwera SQL?
źródło
DOP
w SQL Server oznacza Degrees of Parallelism
.
Zgodnie z artykułem MSDN tutaj , jeśli SQL Server ma wiele procesorów, a zapytanie spełnia określone progi, SQL Server spróbuje podzielić zapytanie na wiele procesorów, aby zwiększyć jego wydajność.
We wcześniejszych wersjach programu SQL Server widziałem, że równoległość powoduje, że zapytania działają wolniej; oznacza to, że czas poświęcony na rozpracowanie równoległości zajmuje więcej czasu niż zajęłoby to samo zapytanie.
W zapytaniach można określić maksymalną liczbę procesorów do użycia, korzystając ze OPTION (MAXDOP X)
wskazówki dotyczącej zapytania, gdzie X jest maksymalną dostępną liczbą procesorów. Można wyłączyć równoległość za pomocą OPTION (MAXDOP 1)
.
Znany jest również problem z równoległością oraz SCOPE_IDENTITY()
w SQL Server 2005/2008.
D egree O f P arallelizm
Gdy SQL Server działa na komputerze z więcej niż jednym mikroprocesorem lub procesorem, wykrywa najlepszy stopień równoległości, to znaczy liczbę procesorów używanych do uruchomienia pojedynczej instrukcji, dla każdego wykonania planu równoległego. Można użyć opcji maksymalnego stopnia równoległości, aby ograniczyć liczbę procesorów używanych w równoległym wykonywaniu planu.
Aby umożliwić serwerowi określenie maksymalnego stopnia równoległości, ustaw tę opcję na 0, wartość domyślną. Ustawienie maksymalnego stopnia równoległości na 0 pozwala SQL Serverowi na użycie wszystkich dostępnych procesorów do 64 procesorów. Aby wyłączyć generowanie planu równoległego, ustaw maksymalny stopień równoległości na 1. Ustaw wartość na liczbę większą niż 1 (maksymalnie 64), aby ograniczyć maksymalną liczbę procesorów używanych przez wykonanie pojedynczego zapytania. Jeśli określono wartość większą niż liczba dostępnych procesorów, używana jest rzeczywista liczba dostępnych procesorów. Jeśli komputer ma tylko jeden procesor, wartość maksymalnego stopnia równoległości jest ignorowana.