Это общая болтовня о параллелизме в SQL Server, она может не ответить на ваш вопрос напрямую.
Из Книг Онлайн, на MAXDOP:
Устанавливает максимальное количество процессоров
процессор запросов может использовать для выполнения
единый указатель. Меньшее
Процессоры могут использоваться в зависимости от
текущая нагрузка системы.
См. блог Рики Ли о параллелизме и типе ожидания CXPACKET. Это довольно интересно.
Как правило, в базе данных OLTP мое мнение таково, что если запрос настолько дорог, что его необходимо выполнять на нескольких процессорах, запрос необходимо переписать во что-то более эффективное.
Почему вы получаете лучшие результаты, добавляя MAXDOP (1)? Трудно сказать без фактических планов выполнения, но это может быть настолько просто, что план выполнения полностью отличается от ОПЦИИ, например, с использованием другого индекса (или, более вероятно,) СОЕДИНЕНИЯ по-разному, с использованием соединений MERGE или HASH.