Какие факторы влияют на время, необходимое для запуска SQL в базе данных? - PullRequest
1 голос
/ 29 марта 2011

У меня есть запрос, который выполняется в хранилище данных.Я управлял отчетом в прошлом месяце.Это дало мне некоторые результаты, скажем, х минут.Тот же отчет при запуске в той же базе данных без каких-либо изменений в базе данных возвращает те же результаты, но через y минут.Разница между временем настолько велика.

Количество данных и индексы также одинаковы.В них нет никакой разницы.

Теперь клиенты спрашивают меня о причине этого.Каковы возможные причины этого?

Ответы [ 3 ]

2 голосов
/ 29 марта 2011

Скорее всего, план запроса изменился.Некоторая незначительная разница в данных подтолкнула расчеты оптимизаторов запросов к новому, менее оптимальному плану.

2 голосов
/ 29 марта 2011

Вы оставляете множество вопросов открытым

  • - это база данных, работающая на выделенном сервере.
  • запускаете ли вы отчеты от клиентов или непосредственно насервер.
  • произошли изменения в физической сети, были изменены некоторые параметры.
  • они (случайно) изменили протокол для связи с сервером (tcp, named-pipe), ...)
  • пытались ли вы дефрагментировать
  • перезагружали ли вы сервер
  • у вас есть план выполнения до и после
2 голосов
/ 29 марта 2011

Вот некоторые из них:

  1. Количество данных в хранилище изменилось.
  2. Возможно, индексы были изменены.
  3. Ваш склад разделен наразличные серверы, и между ними существует задержка соединения ...
  4. Ваш сервер базы данных обрабатывает что-то еще, из-за чего у него меньше памяти и ресурсов процессора для запуска отчетов.
...