2012-01-23 13 views
1

У меня возникла проблема с одной из хранимых процедур на Sql Server.Выполнение одинаковой хранимой процедуры в SQL Server

В одной базе данных Хранимая процедура занимает 27 минут 04 секунд для выполнения одного XML. Базовая функциональность этого SP заключается в вставке/обновлении данных в разных таблицах с использованием ввода XML. Один и тот же SP занимает всего полтора минуты для выполнения одного и того же XML в разных базах данных.

Мы создали резервную копию базы данных за один месяц назад, когда я выполнил SP с тем же входом в резервной базе данных, это также заняло 1 минуту 04 секунд. Так может кто-нибудь, пожалуйста, скажите мне, что я должен проверять между текущей и резервной базой данных, потому что проблема действительно странная, и кажется, что в моей текущей базе данных что-то недавно было изменено из-за моих знаний.

+0

ли индексы в порядке на таблицах, участвующих? Существуют ли другие пользователи, обращающиеся к первой базе данных, но не к базе данных резервного копирования? – GrandMasterFlush

+1

Взгляните на планы выполнения процедур, они такие же или разные? – SWeko

ответ

5
  • Статистика актуальна? exec sp_updatestats 'RESAMPLE'
  • Количество данных в затронутых таблицах несколько отличается?
  • Перестроить индексы exec sp_msforeachtable 'alter index all on ? rebuild'
  • Появились новые индексы на затронутых таблицах?

Update:

  • Существует различная нагрузка там баз данных/таблиц?
  • Любые другие задачи по техническому обслуживанию?

PS: Все предложенный код для Sql Server

Смежные вопросы