Время выполнения хранимой процедуры SQL Server Express 2008 периодически увеличивается - PullRequest
0 голосов
/ 13 мая 2010

У меня есть большая хранимая процедура в базе данных SQL Server 2008 Express SP2, которая запускается примерно каждые 200 мс. Нормальное время выполнения составляет около 50 мс. То, что я вижу, это большие несоответствия во время выполнения. Он будет выполняться какое-то время, скажем, 50-100 раз при ожидаемой 40-60 мс, а затем, по-видимому, наугад, одна и та же хранимая процедура займет больше времени, скажем, 900 мс или 1,5 секунды. Иногда более одного вызова одной и той же процедуры подряд может занять больше времени.

Похоже, что что-то приводит к тому, что сервер sql резко замедляется каждую минуту или около того, но я не могу понять, что. Между событиями нет временных рамок.

У меня одинаковые настройки на двух разных компьютерах, один из которых - чистая загрузка XP Pro без проверки на вирусы и ничего, кроме SQL-сервера.

Кроме того, параметры восстановления для всех баз данных установлены на «Простой».

Ответы [ 2 ]

0 голосов
/ 14 мая 2010

Похоже, что мои проблемы происходят одновременно с количеством объектов кэша плана SQL Server, которое достигает 999 и сбрасывается.

0 голосов
/ 13 мая 2010

Я бы предложил разбить применимые разделы на их собственные хранимые процедуры; для каждой партии кэшируется только один план запроса.

...