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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.01.2007, 21:31   #1  
AlEr is offline
AlEr
Участник
 
33 / 15 (1) ++
Регистрация: 31.07.2003
Адрес: Moscow
Цитата:
Сообщение от mazzy Посмотреть сообщение
В KR3 не работает Hint flag (впрочем, похоже, как и в KR2)
Исчисление номера перевернуто, а вбить можно.
За это сообщение автора поблагодарили: Vadik (3).
Старый 29.01.2007, 09:41   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от AlEr Посмотреть сообщение
Исчисление номера перевернуто
по просьбам трудящихся, я полагаю..
Цитата:
а вбить можно
32767 действительно отключает Index hint из X++ и навязывание хинтов
Спасибо за наводку. Больше никаких изменений, связанных с index hints? Может быть, добавлялись интересные/полезные фичи?
__________________
-ТСЯ или -ТЬСЯ ?
Старый 29.01.2007, 10:44   #3  
glibs is offline
glibs
Member
Сотрудники компании It Box
Most Valuable Professional
Лучший по профессии 2011
Лучший по профессии 2009
 
4,942 / 911 (40) +++++++
Регистрация: 10.06.2002
Адрес: I am from Kyiv, Ukraine. Now I am in Moscow. For private contacts: glibs@hotmail.com
Цитата:
Сообщение от AlEr
...
Исчисление номера перевернуто, а вбить можно.
...
А об этом где-то написано (кроме блогов)?
__________________
С уважением,
glibs®
Старый 01.02.2007, 21:59   #4  
Torin is offline
Torin
Участник
 
127 / 32 (2) +++
Регистрация: 10.03.2003
Адрес: Odessa, Ukraine
Цитата:
Сообщение от AlEr Посмотреть сообщение
Исчисление номера перевернуто, а вбить можно.
Можно для тех, кто в танке - что имелось ввиду ?
1) Куда и как оно "перевернуто" ?
2) Как заставитьработать новые ключи из KR (-indexhints) ?
Спасибо !
Старый 02.02.2007, 12:51   #5  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,972 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Torin Посмотреть сообщение
Можно для тех, кто в танке - что имелось ввиду ?
1) Куда и как оно "перевернуто" ?
2) Как заставитьработать новые ключи из KR (-indexhints) ?
Спасибо !
Может быть имелось в виду
Код:
-hint=32767
в конфигурационной утилите ?
Старый 15.03.2007, 15:03   #6  
Demel is offline
Demel
Участник
 
8 / 10 (1) +
Регистрация: 23.10.2006
Адрес: Москва
У нас в Ax3+SP4+KR3+Oracle 9.2.0.6 тонкий клиент AOS. Сейчас тестируем.
Если поставить Hint flag = 32767, вообще жуткие глюки. Сразу пропадает Windows-аутентификация, Аксапта не находит юзеров
Если hint flag не трогать, то он по-умолчанию равен 167 (получил из значения SQLSystem::databaseHints()), что вроде бы как соответствует дефолтовой настройке. Но поведение Аксапты при этом удивляет.
Она ТАКИЕ хинты вставляет! Что разноска 1 строки перемещения происходит несколько минут. Выбирает плохие индексы. Установка hint flag = 0 решает проблему. Сразу почти все начинает летать, но некоторые запросы, наоборот, встают наглухо. Сейчас пробую 166 (типа index hint хочу отключить) - пока не поняли, что происходит. Не пойму, о чем идет речь, когда говорят, что hint перевернут. Судя по дефолтной настройке, все в норме. Может кто-нибудь пролить свет на эту темную сторону Аксапты? Перерыл весь форум, запутался в конец.
Старый 15.03.2007, 16:17   #7  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Demel Посмотреть сообщение
Перерыл весь форум, запутался в конец.
Форум рыть бесполезно. Поведение hint flags изменилось, как - великая тайна, не иначе. И ладно бы, но добавленная мегафича с навязыванием ядром индексов Поубывав бы..
Я конечно задал вопрос здесь, но надежды на ответ мало...

P.S. Ну вот, каких-то два часа экспериментов.. Ничего там не перевернуто. На KR3 хинты работают по-прежнему, навязывание индекса отключается с помощью
SQLSystem::databaseHints() | 0x200. С остальными битами (старше 2 << 7) разбираться будем позже

Кстати, для KR3+MSSQL значение index hints по умолчанию другое (191)
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (5), glibs (3), raz (13), Logger (2).
Старый 16.03.2007, 06:32   #8  
Demel is offline
Demel
Участник
 
8 / 10 (1) +
Регистрация: 23.10.2006
Адрес: Москва
Цитата:
навязывание индекса отключается с помощью SQLSystem::databaseHints() | 0x200
Я правильно понял, что нужно не снять (как обычно), а установить бит 0x200, чтобы отключить навязывание индексов ядром?
Цитата:
Кстати, для KR3+MSSQL значение index hints по умолчанию другое (191)
Просто для Оракла хинты, предназначенные сугубо для MS SQL, отключены по дефолту, а все остальные включены.
Старый 16.03.2007, 08:57   #9  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Demel Посмотреть сообщение
Я правильно понял, что нужно не снять (как обычно), а установить бит 0x200, чтобы отключить навязывание индексов ядром?
так точно
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: Logger (1).
Старый 02.07.2007, 12:49   #10  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,972 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Vadik Посмотреть сообщение
Форум рыть бесполезно. Поведение hint flags изменилось, как - великая тайна, не иначе. И ладно бы, но добавленная мегафича с навязыванием ядром индексов Поубывав бы..
Я конечно задал вопрос здесь, но надежды на ответ мало...

P.S. Ну вот, каких-то два часа экспериментов.. Ничего там не перевернуто. На KR3 хинты работают по-прежнему, навязывание индекса отключается с помощью
SQLSystem::databaseHints() | 0x200. С остальными битами (старше 2 << 7) разбираться будем позже

Кстати, для KR3+MSSQL значение index hints по умолчанию другое (191)
Попробовал поставить KR3
действительно поведение хинтов не изменилось.
Ставим -hint=0 в параметрах
и все работает - никаких хинтов в запросах нет !

База данных Оракл.
Можето я что не так сделал ?
У кого были неприятности с хинтами, опишите пожалуйста подробнее как воспроизвести. Я пока не нашел отличий от SP3 или от SP5
Старый 02.07.2007, 19:11   #11  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Logger Посмотреть сообщение
Попробовал поставить KR3 действительно поведение хинтов не изменилось. Ставим -hint=0 в параметрах и все работает - никаких хинтов в запросах нет!
Жестоко См. ax-250-tip-046-v0100-enus.doc (Cost-Based Optimizer), раздел 3.3 или ax-300-tip-024-v0100-enus.doc (Performance enhancements using the Cost-Based optimizer), раздел 3.4 «Configuring the Kernel to Enable or Disable Keywords». С помощью -hint=0 вы обрубаете гораздо больше, чем один лишь HINT_INDEX. См. также сообщение в этой же теме по поводу значения hint по умолчанию и более деликатного отрубания index hints.
За это сообщение автора поблагодарили: Logger (1).
Старый 03.07.2007, 15:36   #12  
Demel is offline
Demel
Участник
 
8 / 10 (1) +
Регистрация: 23.10.2006
Адрес: Москва
У нас Ax 3.0 + SP4 + KR3 + Oracle 9.2.0.6
Честно сказать, я пробовал играться с хинтами (и как Vadik советует тоже), но не смог добиться отключения навязывания хинтов ядром. Если хинты отключаются, то полностью, т.е. кодерские хинты тоже Мало того, раньше на формах применялись хинты Fisrt_rows, а после KR3 стали First_rows(100), отчего Oracle стал больше любить сканирование таблиц и hash joins. В общем, я понял, что заставить Аксапту работать, как мне надо, можно одним нормальным способом - настроить Oracle так, чтобы он полюбил Аксапту и ее формы.
После некоторых исследований поставил два параметра Oracle: index_adj = 10, index_cache = 95 (полные названия не помню). После этого Oracle полюбил сканирование индексов и формы почти все залетали за редким исключением. Кроме того, Аксапта "навязывание" индексов делает более умно (как мне показалось), поскольку query plan изменился на Оракле, а Аксапта его смотрит. Единственное, что я сделал, изменил индекс на InventTrans по статусам проводки, который Аксапта подставляла куда ни попадя там, где требуется сканирование по InventTransId.
Сейчас все более-менее стабильно, но нагрузка на Оракл в KR3 больше
__________________

Старый 14.11.2007, 17:12   #13  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,972 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Vadik Посмотреть сообщение
P.S. Ну вот, каких-то два часа экспериментов.. Ничего там не перевернуто. На KR3 хинты работают по-прежнему, навязывание индекса отключается с помощью
SQLSystem::databaseHints() | 0x200. С остальными битами (старше 2 << 7) разбираться будем позже
а про другие хинты удалось что-нибудь понять ?

Интересуют прежде всего
HINT_FORCE_SELECT_ORDER (32)
и
HINT_FORCE_NESTED_LOOP (128)

для Оракла.
Старый 19.11.2007, 09:00   #14  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Logger Посмотреть сообщение
а про другие хинты удалось что-нибудь понять ?
Хотел поковыряться на выходных (чесслово ), но не вышло

Цитата:
Интересуют прежде всего
HINT_FORCE_SELECT_ORDER (32) и HINT_FORCE_NESTED_LOOP (128)
для Оракла
Интерес академический или есть какие-то нерешенные проблемы? С индексными хинтами есть два момента
  • явная подстановка из кода X++ (отключается при сбросе бита 1)
  • неявная подстановка из условий WHERE (отключается при взведении бита 512)
Есть над чем подумать/поискать в плане управления HINT_FASTFIRST (т.е. могли разделить области действия на подстановку из X++ и из форм)
Но HINT_FORCE_SELECT_ORDER и HINT_FORCE_NESTED_LOOP только из X++ выстреливаются и необходимости в дополнительных опциях для них нет.. Или есть?
__________________
-ТСЯ или -ТЬСЯ ?
Старый 19.11.2007, 12:25   #15  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,972 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Спасибо за исследование. Очень нам помогло.

Цитата:
Сообщение от Vadik Посмотреть сообщение
Интерес академический или есть какие-то нерешенные проблемы?

Интерес был практический, потому как у нас сначала вообще все хинты были выключены. Но сейчас мы готовы работать уже и с включенными HINT_FORCE_SELECT_ORDER и HINT_FORCE_NESTED_LOOP

так что сейчас вопрос уже стал академическим.


По поводу HINT_FORCE_SELECT_ORDER и HINT_FORCE_NESTED_LOOP на формах и из кода - по идее возможна разница. Потому что на формах в датасорсах используется обычный Query и на нем есть возможность взвести эти хинты Query.forceNestedLoop() и Query.forceSelectOrder()

Но это бум проверять.


P.S. А вообще со стороны Microsoft это подставлялово - менять таким образом хинты и не давать инструкций как ими пользоваться.
Теги
ax3.0, databasehints, hint, kr3, oracle, sql, sql server, баг, ошибка, ядро

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
сброс фильтров на формах в KR3 Lazy_Tiger DAX: Администрирование 15 23.06.2010 13:42
Периодически "подвисает" клиент Ax3 KR3 egorych DAX: Администрирование 2 14.12.2009 10:35
Версионность в MSSQL 2005 кто-нибудь использует? egorych DAX: Администрирование 0 11.01.2008 14:50
Help! АОС KR3 не пускает больше 100 клиентов! egorych DAX: Администрирование 3 27.08.2007 10:48
Сообщение AX3 KR3 - "INI-file corrupt" egorych DAX: Администрирование 2 27.06.2007 11:05

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

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

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