AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.07.2005, 14:49   #1  
Ozzy_imported is offline
Ozzy_imported
Участник
 
13 / 10 (1) +
Регистрация: 13.07.2005
Коллеги, добрый день
Есть вопрос по оптимизации таблиц Navision. Хранилище данных на MS SQL Server'е.
Подскажите альтернативные пути запуска процедуры оптимизации (не через клиента Navision База Данных - Информация - Таблицы - Оптимизировать).

Хотелось бы уметь запускать это задание пакетом уже на SQL Server'е. Возможно ли такое?

ps. наш консультант-внедренец вообще не слышал что это за зверь - оптимизация

Заранее спасибо.
Старый 13.07.2005, 15:09   #2  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Оптимизацию SIFT-индексов средствами сервера делать достаточно муторно. Придется убивать SIFT-таблицы, после чего запускать код их построения. У каждой таблицы - свой код (см соответствующие SQL-триггера). Чуть поменял что в таблице Навижн, влияющее на SIFT-индекс - переделка сивкел-кода. Гиморное это дело, в общем.
Проще вообще отключить построение SIFT-таблиц везде, где только возможно. А оставшиеся можно и ручками изредка встряхнуть.
Старый 13.07.2005, 15:12   #3  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
А что конкретно делает процедура оптимизации кроме как чистит в SIFT таблицах нулевые строки?
Старый 13.07.2005, 16:55   #4  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Цитата:
Сообщение от SVG
А что конкретно делает процедура оптимизации кроме как чистит в SIFT таблицах нулевые строки?
Вроде как еще дефрагментирует обычные индексы. Причем ломовым методом - через удаление и построение заново. Вот это средствами сервера через план обслуживания делать довольно просто. Да еще и FillFactor-ом поиграться можно.
Соответственно запуск этой штуки (оптимизации индексов средствами сервера) в ночное время лишает юзеров возможности сачковать во время рабочее, ссылаясь на то что Навижн тормозит жутко
Старый 13.07.2005, 17:05   #5  
Ozzy_imported is offline
Ozzy_imported
Участник
 
13 / 10 (1) +
Регистрация: 13.07.2005
2konrad: вы можете подробнее изложить последовательность действий на SQL Server'е для оптимизации? Если у вас есть код процедуры, выполняющей ее - буду премного благодарен
Заранее спасибо.
Старый 13.07.2005, 17:57   #6  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
В плане процедуры - у меня эта работа еще не закончена - процедура не отлажена. А планировалась интелектуальная процедура с анализом таблиц, накоплением статистики и перестроением индексов с подбором FillFactor оптимального для каждого ключа каждой таблицы. Но сильно широко замахнулся - теперь никак не завершу .
А так можно на SQL-сервере создать (или включить в существующий) DB Maintenance Plan с перестройкой индексов и запускать его по ночам с некоторой периодичностью - раз в неделю, например. Недостаток - долго работает.
Старый 13.07.2005, 18:04   #7  
Ozzy_imported is offline
Ozzy_imported
Участник
 
13 / 10 (1) +
Регистрация: 13.07.2005
2konrad: А какая cобственно связь между индексами на sql'ных таблицах и SIFT индексами, лежащими в отдельных таблицах на SQL?

т.е. в общем виде - во всех таблицах с SIFT индексами удалить строки со всеми нулевыми суммами и сделать реиндексацию БД? Я правильно понял?

В идеале мне нужно знать - что именно делает "Оптимизация" Навиженовская.

Спасибо.
Старый 14.07.2005, 10:07   #8  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Как это какая? Добавляешь в индекс, по которому строится SIFT-таблица, новое поле. И все - рукописный сиквел-код надо редактировать.
Как работает навижн-оптимизация на таблицах с SIFT-подтаблицами - под отладчиком не смотрел.
Старый 14.07.2005, 10:40   #9  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Не так давно мне довелось читать очень подробный документ по оптимизации работы Navision на SQL Server'е. Там были расписаны все аспекты: оптимизация SIFT, оптимизация ключей и др. Возможно даже это был какой-то выпуск, поскольку, если мне не изменяет память, там были еще и некоторые инструменты.

К сожалению, сейчас, как не пытался, я этот документ найти не смог.
Старый 14.07.2005, 11:24   #10  
Ozzy_imported is offline
Ozzy_imported
Участник
 
13 / 10 (1) +
Регистрация: 13.07.2005
2Alterant: Если найдется документик - выложите его в открытый доступ или по почте? заранее спасибо.

2konrad: по SQL индексам все понятно. Вопрос больше в том в чем заключается оптимизация SIFT таблиц. Только ли в удалении записей с 0-ми суммами.

Кстати смотрел профайлером оптимизацию таблицы - реально на основной таблице пересоздаются все индексы - поэтому собственно так тормозит эта процедура.

Вопрос риторический - достаточно ли просто почистить SIFT таблицы - для оптимизации производительности. Если да - это существенно упростит и ускорит задачу. У меня оптимизация таблицы размером ~9ГБ (данные + индексы - 26 SIFT таблиц) занимает порядка 2,5 часов - общий объем уменьшает в 2 раза примерно... но по времени выполнения - no comments вообще... с учетом того, что у меня несколько фирм в одной БД. Оптимизацию я буду делать неделю...
Старый 14.07.2005, 13:00   #11  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Ozzy, я Вас понимаю. !

У меня хоть размеры таблиц значительно меньше, но фирм 40 штук. И в оптимизацию того и полез, что стандартная Навижновская по времени не лезет ни в какие рамки.

А один из документов по оптимизации тут лежит. Я его выкладывал где-то в конце прошлого года. Вроде как есть еше другой - но у меня его нету.
Старый 15.07.2005, 10:00   #12  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Ozzy
И всем кто пользует SIFT.
Посмотрите сколько записей в SIFT таблицах пожалуйста.
И напишите в форум - сколько строк в несущей таблице и сколько строк в 26 суммовых таблицах. Лучше раздельно по суммовым.
Ну или хотя бы среднее число строк в суммовой таблице.
типа Value Entry 2 млн
VE$0 1.5млн
VE$1 4млн
и так далее...
Старый 15.07.2005, 10:23   #13  
konrad_imported is offline
konrad_imported
Участник
 
183 / 10 (1) +
Регистрация: 25.11.2004
Забыл про суммовые таблицы как про страшный сон.
Ушел в отпуск на 2 недели. :P
До августа, коллеги!
Старый 15.07.2005, 11:10   #14  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от Ozzy
2konrad: по SQL индексам все понятно. Вопрос больше в том в чем заключается оптимизация SIFT таблиц. Только ли в удалении записей с 0-ми суммами.
Стандартная Навиженовская - да. Но возможно все эти сифты не увиличивают производительность, а уменьшают ее. Как написал SVG, необходимо сопоставлять количество записей в мастер-таблице и таблицах-сифтах. Делать выводы и неоптимальные сифты отключать.
Старый 15.07.2005, 12:45   #15  
Wizard_imported is offline
Wizard_imported
Участник
 
157 / 10 (1) +
Регистрация: 25.11.2004
Value Entry 4581943
5802$0 704239
5802$1 549693
5802$2 897123
5802$3 25786
5802$4 21202
5802$5 14135
5802$6 19
5802$7 6372

выводы?
Старый 15.07.2005, 13:20   #16  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Wizard
Выводы сами делайте, я просто любопытства ради
У вас все неплохо
Старый 18.07.2005, 10:26   #17  
Ozzy_imported is offline
Ozzy_imported
Участник
 
13 / 10 (1) +
Регистрация: 13.07.2005
Payroll Ledger Entry - строк 328050.
строк по индексам:
14821$1 2537719
14821$2 1389953
14821$3 2646429
14821$4 2973752
14821$5 1560092
14821$6 2028734
14821$7 8560
14821$8 2817
14821$9 3688
14821$10 493491
14821$11 55102
14821$12 2694917
14821$13 11380
14821$14 4410334
14821$15 4573703
14821$16 1264885
14821$17 2867862
14821$18 157
14821$19 3688334
14821$20 10039
14821$21 1142355
14821$22 3352309
14821$23 2696865
14821$24 1337676
14821$25 2207855
14821$26 323848

нда... что же предлагаешь отключить почти все индексы? первое что приходит в голову...
Старый 18.07.2005, 10:43   #18  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Ozzy
В вашем случае адназначна все выключать, потом внимательно анализировать длительные запросы и строить сифты.
Пример Wizard'а неплох, хотя и там можно выключить два первых ключа, но это зависит от того, для чего эти ключики нужны - если для репорта который раз в день запускают - выключить, а если для каких-то частых или сильн тяжлых расчетов - пусть живут.
А у вас похоже что галка Maitain SIFT стоит по умолч.в ключах, и не настроены даже уровни SIFT'a. Так что выключайте, читайте внимательно документацию о SIFT и начинайте оптимизировать ключи
Старый 18.07.2005, 11:07   #19  
Ozzy_imported is offline
Ozzy_imported
Участник
 
13 / 10 (1) +
Регистрация: 13.07.2005
2SVG: В моем случае необходимо пинать консультанта видимо. Вобщем на вид все печально... Я боюсь что ключи эти могут использоваться в расчетах как-раз...
Старый 18.07.2005, 11:30   #20  
Scorpie is offline
Scorpie
Участник
 
239 / 10 (1) +
Регистрация: 25.10.2004
Адрес: Moskow
С зарплатой вообще кома. В Payroll Ledger Entrys страх и ужас. Ответственные сотрудники МБС подлежат расстрелу за такое отношение к системе. Или увольнению за непрофессионализм.

Консультантов пинать не нужно. Это не мы плохие, это система такая...
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:56.