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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.04.2007, 22:45   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от vesna dba Посмотреть сообщение
Народ! Есть результат! Интересный и положительный! Завтра на работе буду - опишу все подробно!
Спасибо. Ждем
__________________
полезное на axForum, github, vk, coub.
Старый 18.04.2007, 10:01   #2  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Цитата:
Сообщение от vesna dba Посмотреть сообщение
Народ! Есть результат! Интересный и положительный! Завтра на работе буду - опишу все подробно!
Я извиняюсь что каким либо образом обнадежил вас..
Поспешил. Ложная тревога.
--
В результате работы отчета формируются несколько запросов к базе данных. На один из них (не тот, который нужен, но очень был похож) я наткнулся и поспешил с выводами. Стал делать разбор и понял что ушел не туда.
--
Итак топчемся на месте.
Таблица CUSTINVOICETRANS, идет скан таблицы в запросе по полю DATAAREAID.
Поле DATAAREAID входит в состав индексов построенных на этой таблице (индексы из стандартного функционала).
Но при выполнении запроса все таки сваливается в TABLE SCAN.
Если индекс I_064ITEMIDIDX(по полям DATAAREAID, ITEMID, INVOICEDATE) сделать кластерным - план запроса изменяется и становится более эффективным (стоимость плана 458 до, и 37 - после переделки индекса в качестве кластерного).
--
Задача: избавиться от TABLE SCAN не изменяя индексов стандартного функционала.
Вопрос остается открытым.
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
Старый 23.04.2007, 18:17   #3  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Временно индекс I_064ITEMIDIDX(по полям DATAAREAID, ITEMID, INVOICEDATE) сделал кластерным.
Размер таблицы (исходный - 3Gb) увеличился примерно на 600Mb.
Очереди на диске с таблицей CUSTINVOICETRANS во время выполнения отчета "как корова слизала" (средняя очередь к диску уменьшилась с 50 до 2-3).
Длительных блокировок по таблице не наблюдается.
Продолжаю мониторинг. Ищутся другие решения.
---
"Нет ничего постояннее, чем временное."


--
З.Ы.:
Мониторил запросы к этой таблице в модуле Расчеты с клиентами по отчетам из стандартного функционала.
Картинка планов запросов всегда была красивая, без каких либо изъянов.
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
Старый 31.05.2007, 21:08   #4  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007

Заходит ко мне сегодня начальник и говорит, что со мной хочет пообщаться представитель Microsoft на тему производительности SQL сервера под Аксапту, настройке индексов БД. Типа даст мои контакты и т.п.
--
Ну посмотрим что расскажут..
Если информация будет не конфиденциальная - поделюсь.
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
Старый 01.06.2007, 08:50   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от vesna dba Посмотреть сообщение
поделюсь.
Спасибо. Ждем.
__________________
полезное на axForum, github, vk, coub.
Старый 04.07.2007, 20:07   #6  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Цитата:
Сообщение от mazzy Посмотреть сообщение
Спасибо. Ждем.
А нет короче никакого секрета.
Творческий подход!
Мониторить, оптимизировать, экспериментировать..

Хотите производительность повысить - SQL 2005.
По моим изысканиям - основные узкие места (у нас) - дисковая подсистема.
Купить супер быструю дисковую полку, - уткнетесь в производительность сети и ограничения платформы IA32, надо думать тогда уже об IA64.

Таблетки от всех болезней нет.
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
Старый 16.06.2007, 23:19   #7  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Вот наткнулся на эту инфу
http://www.axforum.info/forums/showthread.php?t=14956
про параметр командной строки и системную переменную INDEX.

На тестовой базе откорректировал значение переменной INDEX с 297 на 313 с целью перестройки индексов в БД (поле DATAAREAID становится последним в наборе полей, по которым построен индекс).
INDEX = 297 - это значение я так понимаю у всех изначально.
Замечание:
- после корректировки системной переменной для применения изменений рестартовал AOS (а хватило ли бы просто перезахода в AX? - не проверил).
- чтобы индекс перестроился - проводил синхронизацию таблиц, НО процесс синхронизации надолго затыкался на таблицах, начинающихся с "tmp..", долго не заморачивался - сделал реиндексацию, после этого все прошло.

Потестил.
На нашей обсуждаемой табличке CUSTINVOICETRANS строил планы по тому же запросу (см.выше) и опять в разных вариантах индекса I_064ITEMIDIDX.
Стоимость плана:
458 - CUSTINVOICETRANS с НЕ кластерным индексом I_064ITEMIDIDX и системная переменная INDEX = 297
305 - CUSTINVOICETRANS с НЕ кластерным индексом I_064ITEMIDIDX и системная переменная INDEX = 313
37 - CUSTINVOICETRANS с кластерным индексом I_064ITEMIDIDX и системная переменная INDEX = 297
15 - CUSTINVOICETRANS с кластерным индексом I_064ITEMIDIDX и системная переменная INDEX = 313
Вывод: таким образом действительно видим положительный результат от корректировки индексной подсистемы в части перемещения в конец DATAAREAID в индексе.

Посмотрим как это скажется на работе системы в целом.
---
А кто подскажет, где бы почитать про системные переменные базы данных Axapta, параметры командной строки для AOS, клиента и т.п.?
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
Старый 16.06.2007, 23:35   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от vesna dba Посмотреть сообщение
INDEX = 297 - это значение я так понимаю у всех изначально.
В kr2 это изменили. Поищите сообщение Vadik на axforum.info

Цитата:
Сообщение от vesna dba Посмотреть сообщение
А кто подскажет, где бы почитать про системные переменные базы данных Axapta, параметры командной строки для AOS, клиента и т.п.?
%drive:%\%Axapta30%\Bin\Axacuus.chm
__________________
полезное на axForum, github, vk, coub.
Старый 27.07.2007, 21:38   #9  
vesna dba is offline
vesna dba
Участник
 
147 / 16 (1) ++
Регистрация: 16.02.2007
Про творческий подход:
Нашел книжку (товарищ показал) в нете, купил - "Настройка SQL для профессионалов", автор Ден Тоу. Автор описывает свою методику генерации оптимальных планов исполнения применительно к Oracle, SQL Server, DB2. Методика основана на построении диаграмм запросов, короче графы надо рисовать, делать расчеты..
Пока читаю, интересно. Потом думаю вкратце на примере покажу работу методики.
__________________
Axapta 3.0 CIS SP3 CU1
---
Народу собралось - яблоку плюнуть негде!
 


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

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

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