Почему обновление с SQL Server 2000 до 2005 приведет к более медленным запросам? - PullRequest
2 голосов
/ 28 января 2009

Существуют ли какие-либо общие причины, по которым обновление базы данных с SQL Server 2000 до SQL Server 2005 может привести к более медленным запросам? Это происходит из приложения ASP.NET 1.1 с сотнями таблиц, все проиндексировано и, похоже, хорошо работает на старой версии.

Ответы [ 8 ]

2 голосов
/ 28 января 2009

После обновления первым делом вам нужно обновить статистику с полной проверкой и перестроить индексы, иначе вы получите неоптимальные планы

2 голосов
/ 28 января 2009

Вы уверены, что все ваши индексы пережили обновление? Есть ли различия в оборудовании? Использовали ли вы SQL Profiler для определения, какие запросы выполняются медленнее, чтобы попытаться отследить проблему?

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

1 голос
/ 10 февраля 2009

Мы только что столкнулись с этой проблемой после обновления с 2000 Ent SP4 до 2005 Std 64 бит SP2, гораздо более мощный сервер (2 4-ядерных, 32 ГБ ОЗУ)

Запрос SELECT занимал 2 ~ 3 секунды в 2000 году и 20+ минут (и все еще не завершен) в 2005 году Перестроил ВСЕ индексы, sp_updatestats, те же результаты. Очень странно, индексные подсказки не использовались, кроме NOLOCK Базы данных оставались в режиме совместимости 8.0 на коробке 2005 года, хотя

Восстановление на другую коробку 2005 года, когда мы говорим с тестом

1 голос
/ 28 января 2009

Несколько вещей ...

  1. Какой пакет обновления вы используете?
  2. Применяли ли вы какие-либо дополнительные исправления или CU?
  3. Изменили ли вы уровень совместимости БД с 80 на 90 во время обновления?

Если вы используете серверные курсоры, имейте в виду, что после обновления с SQL Server 2000 до SQL Server 2005 могут возникнуть некоторые проблемы с производительностью. Если это ваша ситуация, есть несколько исправлений, которые могут помочь , Просто найдите исправления SQL Server 2005 и серверные курсоры.

Кроме того, всегда проверяйте целостность БД после обновления, перестраивайте индексы и обновляйте статистику.

1 голос
/ 28 января 2009

Возможно, вы захотите пересмотреть ваши индексы, посмотрев планы выполнения ваших наиболее проблемных запросов. Оптимизатор запросов SQL 2005 может предложить совершенно другие планы выполнения.

Вы также должны обновить статистику всей своей базы данных.

0 голосов
/ 29 января 2009

Вы не сказали, какое издание вы используете.

Но если вы только что перешли с версии 2000 Standard или Enterprise на версию 2005 Express; Экспресс-издание использует только один процессор. Я только что это случилось со мной на прошлой неделе; один из моих запросов прошел с медленных 1,5 секунд до 55 секунд! Я выполнил план запроса, и единственным отличием были параллельные операции. Не могу поверить, что разница в скорости.

0 голосов
/ 28 января 2009

Кроме того, если все остальное терпит неудачу, есть ошибка в оптимизаторе 2005 года, исправленная в накопительном обновлении 6 SP2 (и требует применения 2 флагов трассировки).

0 голосов
/ 28 января 2009

Убедитесь, что запросы и хранимые процедуры, которые вы используете, не используют никаких подсказок индекса. Как и все остальные, оптимизатор изменился между 2000 и 2005 годами, поэтому эти подсказки могут больше не быть полезными.

...