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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.04.2011, 09:47   #1  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Ой, сколько откликов за ночь! Отвечаю по порядку.
Аксапта 3 KR2 на Oracle 10g.
Да, речь идет об медленном открытии формы. Табличка партицированная (~250млн. записей), видимо поэтому order by очень сильно тормозит!
Для 1 записи (или нескольких - история) открывается мгновенно.
Пробовал вставлять sortclear и в init и в execute - результат однинаков т.е. никакого! Попробую еще с подменой query.
Св-во index на датасорсе не заполнено
Статистика и индекс перестроены, пересчитаны и залочены - табличка архивная, заполняется 1 раз в год.
Почему думаю, что тормозит order by? Я собственно не думаю, а знаю - пробовал в разных видах этот запрос делать во внешних тулзах - как только убираешь сортировку - все работает быстро!
Старый 01.04.2011, 09:58   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от egorych Посмотреть сообщение
Аксапта 3 KR2 на Oracle 10g.
Ух ты, какая древность.
А свойство primary index на самой таблице?

(cluster index пусть остается)

===============
добавлено: у меня только ax3.0 SP6. ни в исходном слое, ни в SP6 в свойствах не установлен Primary Index. А вот в SP2 - не помню.
Изображения
 
__________________
полезное на axForum, github, vk, coub.
Старый 01.04.2011, 10:16   #3  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от mazzy Посмотреть сообщение
Ух ты, какая древность.
А свойство primary index на самой таблице?
(cluster index пусть остается)
И primary и cluster - все поля пустые!
В том и вопрос, что все известные мне способы отмены сортировки почему-то не работают!
__________________
Axapta 3.0 sp - хз какой, kr2
Старый 01.04.2011, 10:29   #4  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от egorych Посмотреть сообщение
И primary и cluster - все поля пустые!
В том и вопрос, что все известные мне способы отмены сортировки почему-то не работают!
Интересно.
У меня в конфиге из подписи кластерный индекс есть

А если таблицу просматривать в Обозревателе из Аксапты - тоже тормозит, или открывает быстро?
__________________
Axapta v.3.0 sp5 kr2
Старый 01.04.2011, 10:59   #5  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от AndyD Посмотреть сообщение
Индекс TableRecIdIdx - не является уникальным. Соотвественно, не может быть и первичным
Да, это так, но т.к. индекс на таблице 1, то система добавила к нему RecID автоматом и получился уникальный индекс.
Цитата:
Сообщение от AndyD Посмотреть сообщение
У меня другой вопрос.
Каким образом хранятся в кластерном индексе рассчитанные значения для функционального ключа? И как упорядочиваются записи по нему?
Не совсем понял вопрос? Косяпта, как известно, в случае Оракла использует т.н. FBI и, соответственно в запросах также использует обертку для строковых полей из NLS_LOWER и SUBSTR, поэтому индексы используются нормально. Это то очем спрашивали?

Цитата:
Сообщение от AndyD Посмотреть сообщение
А если таблицу просматривать в Обозревателе из Аксапты - тоже тормозит, или открывает быстро?
Тоже тормозит - на сервере запрос получается все равно с order by !
__________________
Axapta 3.0 sp - хз какой, kr2
Старый 01.04.2011, 11:12   #6  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
может быть это поможет
За это сообщение автора поблагодарили: egorych (5).
Старый 01.04.2011, 11:40   #7  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от egorych Посмотреть сообщение
Да, это так, но т.к. индекс на таблице 1, то система добавила к нему RecID автоматом и получился уникальный индекс.
В базе да, добавит. Но вот в Аксапты нельзя сделать неуникальный индекс (Mandatory=No) первичным - интерфейс не позволит. По-этому я и обратил на это внимание
Цитата:
Сообщение от egorych Посмотреть сообщение
Не совсем понял вопрос? Косяпта, как известно, в случае Оракла использует т.н. FBI и, соответственно в запросах также использует обертку для строковых полей из NLS_LOWER и SUBSTR, поэтому индексы используются нормально. Это то очем спрашивали?
Нет
Это был вопрос, что бы понять, как оно устроено.
Не обращайте внимание
Цитата:
Сообщение от egorych Посмотреть сообщение
Тоже тормозит - на сервере запрос получается все равно с order by !
А план выполнения не пробовали смотреть? С order by и без него
__________________
Axapta v.3.0 sp5 kr2
Старый 01.04.2011, 12:00   #8  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от AndyD Посмотреть сообщение
А план выполнения не пробовали смотреть? С order by и без него
Да план смотрел - разница в "SORT ORDER BY" - что, в общем, логично.
запрос такой -
PHP код:
SELECT /*+ FIRST_ROWS */A.DESCRIPTION,A.LOGTYPE,A.TABLE_,A.LOGRECID,A.CREATEDDATE,A.CREATEDTIME,A.CREATEDBY,A.CREATEDTRANSACTIONID,A.RECVERSION,A.RECID,A.DATA 
FROM SYSDATABASELOG_ARH A 
WHERE 
(SUBSTR(NLS_LOWER(DATAAREAID),1,3)=NLS_LOWER(:in1)) 
ORDER BY SUBSTR(NLS_LOWER(A.DATAAREAID),1,3),A.TABLE_,A.LOGRECID,A.CREATEDDATE,A.CREATEDTIME 
планы такие
Изображения
 
__________________
Axapta 3.0 sp - хз какой, kr2
Старый 01.04.2011, 10:18   #9  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от mazzy Посмотреть сообщение
Ух ты, какая древность.
А свойство primary index на самой таблице?

(cluster index пусть остается)

===============
добавлено: у меня только ax3.0 SP6. ни в исходном слое, ни в SP6 в свойствах не установлен Primary Index. А вот в SP2 - не помню.
Индекс TableRecIdIdx - не является уникальным. Соотвественно, не может быть и первичным

Да и зачем нужен, в данном случае, Primary Key?


У меня другой вопрос.
Каким образом хранятся в кластерном индексе рассчитанные значения для функционального ключа? И как упорядочиваются записи по нему?
__________________
Axapta v.3.0 sp5 kr2
Старый 01.04.2011, 11:13   #10  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AndyD Посмотреть сообщение
Да и зачем нужен, в данном случае, Primary Key?
Спрашиваю, потому что автор не сказал ни о версии, ни модификациях.
теперь мы можем быть уверены, что индексов в свойствах нет ни на форме, ни в таблице.

но ведь барабашки - нет!

значит, остаются какие-то непонятнки с ядром ax3.0 SP2.
Насколько я помню, SP2 глючный какой-то был. Мы старались обновлять клиентов до SP3, а потом хотя бы до Kernel Rollup 2. В KR2 много чего поправлено в ядре было.

egorych, у вас точно exe-шники от ax3.0 SP2?
или вы exe-шники таки обновляли?
что показывается в окне Помощь \ О программе?

можете скриншот привести?
щас мы вашу версию определим http://forum.mazzy.ru/index.php?showtopic=881

заодно, вы пробовали обновлять exe-шники до SP5? можете попробовать на тестовой базе и сообщить о результатах? может это багофича ядра какая-нибудь.
__________________
полезное на axForum, github, vk, coub.
Старый 01.04.2011, 11:35   #11  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от mazzy Посмотреть сообщение
значит, остаются какие-то непонятнки с ядром ax3.0 SP2.
Насколько я помню, SP2 глючный какой-то был. Мы старались обновлять клиентов до SP3, а потом хотя бы до Kernel Rollup 2. В KR2 много чего поправлено в ядре было.

egorych, у вас точно exe-шники от ax3.0 SP2?
или вы exe-шники таки обновляли?
что показывается в окне Помощь \ О программе?
У него в подписи
Axapta 3.0 sp - хз какой, kr2
Что-то сомневаюсь, что там sp2
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: mazzy (2).
Теги
order by, query, сортировка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Итератор с поддержкой методов обратного вызова для обработки контролов на форме gl00mie DAX: Программирование 18 06.08.2013 22:16
Отображение таблицы в новой форме форме DAsm DAX: Программирование 23 04.03.2011 21:50
Как правильно связать таблицы в форме? Как показать параметры партии? mazzy DAX: Программирование 10 27.10.2010 15:56
Несинхронность размерности полей в форме поиска... glibs DAX: Функционал 0 05.04.2010 21:54
Использование семейства InventDimCtrl_Frm_* - 2 DS InventDim на одной форме Pavlo AKA Panok DAX: База знаний и проекты 5 22.12.2008 17:15

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

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

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