Мы пытаемся запустить хранимую процедуру, которая сделает небольшое обновление для каждой строки таблицы с более чем 10 миллионами строк (это большая база данных, как вы можете себе представить). Мы работаем с SQL Server 2005.
Хранимая процедура, которую я создал, ведет себя странно. Когда он запускается, он движется очень медленно, занимая очень мало ресурсов процессора. Затем он внезапно всплывает в течение часа или двух, занимая 99% ресурсов ЦП, и в этот момент он движется очень быстро (что нам и нужно).
Но потом вдруг снова замедляется, работает очень медленно!
Мы хотим, чтобы он работал быстро (т. Е. Занимал все необходимые ресурсы), чтобы он мог завершить задачу (поскольку это ОДНА ВРЕМЯ хранимая процедура, предназначенная для обновления базы данных).
Наш сервер имеет следующие ресурсы: процессор Intel (R) Xeon (R) E5520 @ 2,27 ГГц, 2,27 ГГц, 18 ГБ оперативной памяти
Может ли кто-нибудь помочь мне понять, почему SQL Server делает это, и как исправить мою хранимую процедуру, чтобы она работала быстро и использовала доступные ресурсы ПОСТОЯННО?