Как я могу заставить SQL Server использовать больше ЦП - PullRequest
0 голосов
/ 30 июня 2010

У меня есть запрос на преобразование данных, который занимает много времени на моей машине разработки (Core i7 920, работающий на частоте 3,9 ГГц, с 12 ГБ ОЗУ под Windows Server 2003 x86 и с 2 Velociraptors 300 ГБ в RAID0). *

Когда я смотрю на диспетчер задач, загрузка процессора составляет около 26%, при этом третье (из 4) ядро ​​является наиболее активным.

Поскольку это не производственная среда, есть ли способ сообщить SQL Server 2008, что я согласен с ним, используя больше моего ЦП, или это потому, что мой запрос не может быть распараллелен по какой-то причине? Разве SQL Server не должен быть достаточно умным, чтобы разделить запрос на более мелкие куски и выполнить его в нескольких потоках, чтобы каждое ядро ​​могло его получить?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 30 июня 2010

Оптимизируйте ваш запрос.Скорее всего, проблема именно в этом, а не в SQL Server.

0 голосов
/ 30 июня 2010

Он уже знает, что все в порядке, если вы специально не ограничили его использованием только определенного количества процессоров либо через конфигурацию, либо через настройку параметра MAXDOP.

Звучит так, как будто вы ограничены жесткими дисками илипамять больше всего на свете.

Обратите внимание, что, поскольку вы используете версию Windows для x86 (и с расширением sql server), у вас может быть ОЗУ, ограниченное до 3 ГБ.И даже с включенными PAE (расширениями физической адресации) ситуация будет гораздо медленнее, чем если бы у вас была операционная система x64 и SQL Server для начала.

Другими словами, вы можете подумать о переустановкемашина с нуля, чтобы воспользоваться всеми преимуществами х64 у вас есть.

...