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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.08.2010, 19:38   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Ax2009 - отключить хинт firstOnly
Привет всем.

Коллеги, кому-нибудь удавалось отключить в AX2009 хинт firstOnly ?
Вылезла проблема для оракла. Использование firstOnly в коде X++ приводит к тому что в запросе уходит хинт FIRST_ROWS из-за чего оптимизатор тупит и кривит планы запросов.

В 3-ке обычно помогало -hints=0 (или менее радикальный вариант - сброс не всех, а только 2-го бита)
В AX2009 это уже не прокатывает.
Старый 03.08.2010, 18:06   #2  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Похоже ваш вопрос о Index hints и MSSQL
Скорее всего в AX2009 нет аналогичных опций. Поиск по инету и приблизительно не дал результатов. Кроме как описание некоторой оптимизации в Development III in Microsoft Dynamics AX 4.0

Microsoft активно готовит всех к Ax '6' и в презентации 13 слайд из Microsoft Dynamics AX 2009 Roadmap намекает на Oracle to Microsoft SQL Server Data Migration Assistant
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
За это сообщение автора поблагодарили: Logger (5).
Старый 03.08.2010, 20:17   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Опция эта есть в реестре, и АОС на нее реагирует.
Но получится ли отключить FIRST_ROWS ... надо попробовать 2 крайних варианта 0 и 255 (или сколько там сейчас этих битов)
За это сообщение автора поблагодарили: Logger (5).
Старый 03.08.2010, 20:30   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Wamr Посмотреть сообщение
Опция эта есть в реестре, и АОС на нее реагирует.
Но получится ли отключить FIRST_ROWS ... надо попробовать 2 крайних варианта 0 и 255 (или сколько там сейчас этих битов)
А не подскажете в какой ветке ? Вы имеете в виду 2009-ю Аксапту ?

Многие трешечные хинты просто не работают.
Старый 03.08.2010, 20:34   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Насколько я помню для KR3 был ключ в реестре который позволял задавать вид FIRST_ROWS(X)

Где X можно было ставить 1, 10, 100, 1000

Но просто отключить FIRST_ROWS он не позволял, для отключения нужно было сбрасывать биты 2 и 4 при указании опции -hints=Y
Старый 03.08.2010, 20:37   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Интересно, а для связки SQL SERVER + AX2009 такой проблемы ни у кого не возникало ?
Старый 03.08.2010, 20:40   #7  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Dynamics Server\5.0\<номерАОСа>\active
после опытов со значением hint, при запуске конфигурационной утилиты выдается ругань про неподдерживаемые значения - тоже интересно почитать.

Для MS SQL в запрос ставится TOP 1 и не отключается.

Последний раз редактировалось Wamr; 03.08.2010 в 20:42.
Старый 04.08.2010, 10:02   #8  
Poleax is offline
Poleax
Модератор
Аватар для Poleax
MCP
MCBMSS
Злыдни
 
1,353 / 595 (22) +++++++
Регистрация: 17.02.2005
Адрес: msk
Записей в блоге: 34
Post
Цитата:
Сообщение от Wamr Посмотреть сообщение
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Dynamics Server\5.0\<номерАОСа>\active
Wamr, спасибо за подсказку о ветке реестра.

Видимо для Logger есть решение проблемы.
Беглый взгляд по ветке реестра [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Dynamics Server\5.0\01\Original (installed configuration)] обнаружил ключ "sqloraclefirstrowsfix"="0"

Аналогичная проблема решается в How to add FIRST_ROWS hint to a SQL query to Oracle

Logger попробуй присвоить, в своей конфигурации сервера, "sqloraclefirstrowsfix"="1"
__________________

This posting is provided "AS IS" with no warranties, and confers no rights.
За это сообщение автора поблагодарили: Logger (7).
Старый 29.12.2010, 20:52   #9  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,953 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Poleax Посмотреть сообщение
Wamr, спасибо за подсказку о ветке реестра.

Видимо для Logger есть решение проблемы.
Беглый взгляд по ветке реестра [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\Dynamics Server\5.0\01\Original (installed configuration)] обнаружил ключ "sqloraclefirstrowsfix"="0"

Аналогичная проблема решается в How to add FIRST_ROWS hint to a SQL query to Oracle

Logger попробуй присвоить, в своей конфигурации сервера, "sqloraclefirstrowsfix"="1"

Походу этот ключ реестра не помог
Теги
ax2009, firstonly, hint

 


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

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

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