Відповіді:
DOPв SQL Server розшифровується як Degrees of Parallelism.
Згідно статті MSDN тут , якщо на SQL Server доступно декілька процесорів, а запит відповідає певним порогам, SQL Server спробує розбити запит на декілька процесорів для підвищення його продуктивності.
У попередніх версіях SQL Server я бачив, що паралелізм фактично робить запити повільнішими; тобто час, витрачений на з'ясування паралелізму, займає більше часу, ніж власне запит знадобиться без нього.
У запитах ви можете вказати максимальну кількість використовуваних процесорів, використовуючи OPTION (MAXDOP X)підказку запиту, де X - максимальна кількість доступних процесорів. Ви можете вимкнути паралелізм за допомогою OPTION (MAXDOP 1).
Існує також відома проблема з паралелізмом і SCOPE_IDENTITY()в SQL Server 2005/2008.
D egree O f P arallelism
Коли SQL Server працює на комп'ютері з більш ніж одним мікропроцесором або процесором, він виявляє найкращу ступінь паралелізму, тобто кількість процесорів, зайнятих для запуску одного твердження, для кожного паралельного виконання плану. Ви можете використовувати параметр максимальної ступеня паралелізму, щоб обмежити кількість процесорів, які використовуються для виконання паралельного плану.
Щоб сервер міг визначити максимальний ступінь паралелізму, встановіть цю опцію 0, значення за замовчуванням. Встановлення максимального ступеня паралелізму до 0 дозволяє SQL Server використовувати всі доступні процесори до 64 процесорів. Щоб придушити генерацію паралельного плану, встановіть максимальний ступінь паралелізму на 1. Установіть значення на число, що перевищує 1 (до максимум 64), щоб обмежити максимальну кількість процесорів, використовуваних одним виконанням запиту. Якщо вказано значення, що перевищує кількість доступних процесорів, використовується фактична кількість доступних процесорів. Якщо на комп'ютері є лише один процесор, максимальне значення паралелізму ігнорується.