Производительность запросов SQL Server 2000 - PullRequest
1 голос
/ 26 июля 2011

Мы перенесли наши несколько serevr в именованный экземпляр, и у меня возникла ситуация, когда хранимая процедура требует больше времени для выполнения.хранимая процедура имеет некоторую бизнес-логику, указывающую на таблицу.У меня есть индексы на столе.Я сомневаюсь, что одна и та же хранимая процедура, используемая для одной и той же таблицы с одним и тем же индексом в двух разных производственных базах, занимает разное время.Я понимаю, что производительность базы данных зависит от нагрузки на базу данных.Но я работаю в нерабочие часы и думаю, что нагрузка также почти одинакова.Это займет 10 секунд для выполнения на новом именованном сервере instancwe и 3 секунды на старом сервере.Нужно ли дефрагментировать таблицу на новом сервере.это решит проблему.Любая идея, как мне проверить, где проблема на новом сервере.

Редактировать: Когда я проверял план выполнения, он давал 38% времени выполнения в готовой очереди (для создания временного индекса).).Можете ли вы объяснить мне, как я могу избежать этой части в порядке исключения.Я не получаю это при выполнении на сервере без имени (где его выполнение занимает 3 секунды)

Редактировать: повторное построение индексов приведет к какому-либо улучшению производительности

1 Ответ

1 голос
/ 26 июля 2011

Первая проверка: проверить планы выполнения запросов на любом из серверов - совпадают ли они?

Редактировать: Планы не совпадают, поэтому следующая мысль - схемы (индексы) не идентичны или статистикана более новом экземпляре не в курсе.попробуйте sp_updatestats на более новом экземпляре и посмотрите, изменится ли план.

...