Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Динам запрос и производительность  [new]
akim2
Member

Откуда: Киев
Сообщений: 115
Добрый время всем!

Столкнулся с проблемой. При работе OLTP системы, после нескольких часов работы происходит плавное торможение сервера. И в конце дня работа сервера приходит на "нет". Т.е. операции, кот пользов выполнял менее секунды, происходят до 15-20 сек.

Коль-во сессий MSSQL = около 100.
Кол-во транзакций = 50 в минуту
Железо: P-III 1.4, 2048 RAM, 100Gb HDD SCSI
База данных: 22 Gb

Может ли быть причиной замедления работы сервера при использования динамических запросов? А точнее, в качестве клиент приложения используется Delphi6. Запросы выполняются, используя ADOCommand. Как я понимаю - это аналог динамического запроса. Сами понимаете, кол-во select к базе огромное. Оптимизация/ревизия проводилась. Некие большие DBA, ничего не нашли. Единств - это указали на использ дин запросов и предложили все запросы переложить на сторону сервера в хранимки.

Есть ли мысли по этому поводу?
13 фев 06, 13:54    [2350025]     Ответить | Цитировать Сообщить модератору
 Re: Динам запрос и производительность  [new]
Crimean
Member

Откуда:
Сообщений: 13148
поставьте вызов sp_updatestats раз в час , скажем
13 фев 06, 13:55    [2350028]     Ответить | Цитировать Сообщить модератору
 Re: Динам запрос и производительность  [new]
akim2
Member

Откуда: Киев
Сообщений: 115
А в таком случае, компиляция не будет происходить при каждом вызове?
13 фев 06, 13:57    [2350040]     Ответить | Цитировать Сообщить модератору
 Re: Динам запрос и производительность  [new]
ScareCrow
Member

Откуда: Белый город
Сообщений: 17089
1) если используются параметрические запросы компиляция и так не каждый раз
2) если запросы не параметрические но одни и те же компиляция не каждый раз...
13 фев 06, 14:00    [2350050]     Ответить | Цитировать Сообщить модератору
 Re: Динам запрос и производительность  [new]
Glory
Member

Откуда:
Сообщений: 104760
akim2
А в таком случае, компиляция не будет происходить при каждом вызове?

запрос exec() и так компилируется каждый раз
13 фев 06, 14:02    [2350071]     Ответить | Цитировать Сообщить модератору
 Re: Динам запрос и производительность  [new]
akim2
Member

Откуда: Киев
Сообщений: 115
Скажи, а где я могу посмотреть: происходит перекомпилляция или нет?
Если через профайл, подскажите пож на какие параметры след обратить внимание.

Спасибо
13 фев 06, 14:12    [2350126]     Ответить | Цитировать Сообщить модератору
 Re: Динам запрос и производительность  [new]
профф
Member

Откуда:
Сообщений: 54
Если ADOCommand поменять на ADOQuery (для каждого запроса свой) с параметрами и поставить Prepared:=True, то запрос компилиться будет только в первый раз. Лично проверял профилировщиком.
14 фев 06, 14:51    [2354697]     Ответить | Цитировать Сообщить модератору
 Re: Динам запрос и производительность  [new]
akim2
Member

Откуда: Киев
Сообщений: 115
Спасибо за важную информацию
17 фев 06, 18:07    [2369303]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить