• Обсуждения на сайте Альта-Софт

Вопрос по оптимизации SQL

вопросы по работе с программным обеспечением

Модераторы: Renat, Gala, alta_olg, expert, Lemur

Ответить
iboxjo
Почетный участник
Сообщения: 105
На форуме: c 06 июн 2008
Сказал: 7 ед.
Получил: 2 ед.

Вопрос по оптимизации SQL

Сообщение iboxjo »

Некоторое время назад встал вопрос оптимизации работы SQL сервера. Не являясь DBA и обладая знаниями SQL на уровне простых запросов испытываю некоторые сложности в этом вопросе. По результатам поиска свёл задачи оптимизации к следующим:

Обновление статистик
exec sp_msforeachtable N'UPDATE STATISTICS ? WITH FULLSCAN'
Очистка процедурного КЭШа
DBCC FREEPROCCACHE
Дефрагментация индексов
sp_msforeachtable N'DBCC INDEXDEFRAG ([ИМЯ БАЗЫ ДАННЫХ], ''?'')'
Реиндексация таблиц
sp_msforeachtable N'DBCC DBREINDEX (''?'')'

Собственно, вопрос. Насколько верны данные запросы и дадут ли они видимый эффект в работе с базами.
[Сервер 2008 R2 Express ADV, несколько баз на грани 8Гб+несколько связанных баз сообщений ED, autoshrink=true]. В данный момент, пользователи испытывают досточно ощутимые задержки при работе с декларациями, от чего собственно и начались пляски с бубном.

Заранее благодарен за любую помощь.
popov
Почетный участник
Сообщения: 101
На форуме: c 06 ноя 2004
Откуда: Альта-Софт
Сказал: 0 ед.
Получил: 20 ед.

Re: Вопрос по оптимизации SQL

Сообщение popov »

Про вышеупомянутые запросы ничего не могу сказать (ни плохого, ни хорошего).
Но обычно все эти "оптимизации" ощутимого эффекта не дают, особенно на Express'ах, где основная проблема производительности связана не с самой БД, а ее размером в сочетании с ограничением на используемую память (не более 1 гига). Т.е. MS специально ограничил размер используемой оперативки в своей БЕСПЛАТНОЙ версии, чтобы Вы сильно далеко (в плане размера рабочей БД) на ней не уехали ;)
Если у Вас несколько больших баз ГТД-ПРО, то можно посоветовать доп. экземпляр SQL Server поставить, т.к. получается что этот 1 гиг делится между ними и каждой БД достается еще меньше оперативки и начинаются тормоза.
С уважением, Дмитрий.
iboxjo
Почетный участник
Сообщения: 105
На форуме: c 06 июн 2008
Сказал: 7 ед.
Получил: 2 ед.

Re: Вопрос по оптимизации SQL

Сообщение iboxjo »

Спасибо за ответ. Пока провёл перестроение индекса одной из баз - визуально работать стало легче, но пока нагрузка не полная.
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: Вопрос по оптимизации SQL

Сообщение aiki »

В свое время, пока был старый и хилый сервер, помогло отключение параметра "показывать панель ЭД-2 в списке ГТД", навигация ускорилась.
popov
Почетный участник
Сообщения: 101
На форуме: c 06 ноя 2004
Откуда: Альта-Софт
Сказал: 0 ед.
Получил: 20 ед.

Re: Вопрос по оптимизации SQL

Сообщение popov »

aiki писал(а):В свое время, пока был старый и хилый сервер, помогло отключение параметра "показывать панель ЭД-2 в списке ГТД", навигация ускорилась.
Это только на тормоза скроллинга по списку деклараций влияет.
С тех пор мы сделали обновление этой панели пореже (только когда интенсивный скроллинг заканчивается).
В общем, это тоже "копейки" :)
С уважением, Дмитрий.
Аватара пользователя
aiki
Дед
Сообщения: 302
На форуме: c 14 апр 2010
Откуда: СП "Интегра", Ижевск
Сказал: 7 ед.
Получил: 74 ед.

Re: Вопрос по оптимизации SQL

Сообщение aiki »

Ну, тогда следует проанализировать мат. часть. На сервере нужно запустить монитор ресурсов, и проанализировать показания при активности. Может "затыки" на аппаратном уровне идут, частое обращение к свопу из-за не хватки ОЗУ, или длинные очереди и таймаут по обработке запросов к дисковой подсистеме, отклик сетевого интерфейса, загрузка ЦП.
Ответить