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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.04.2007, 16:21   #1  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Хеш функция по тексту запроса
Коллеги подскажите как в Аксапте построить эффективную хеш функцию ?

Идея такая. Есть лог длинных запросов SQL. Когда их смотришь, то хочется отсекать одинаковые. Для этого удобно было бы завести в табличке поле которое по тексту запроса генерит некое число и пишет его в поле в табличке. Так что потом разным запросам соответсвуют разные числа, а одинаковым - одинаковые.


Хочется создать функцию, которая не будет отъедать много ресурсов, но "практически всегда" для разных текстов запросов будет выдавать разные значения.
Старый 09.04.2007, 16:55   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от Logger Посмотреть сообщение
Идея такая. Есть лог длинных запросов SQL. Когда их смотришь, то хочется отсекать одинаковые. Для этого удобно было бы завести в табличке поле которое по тексту запроса генерит некое число и пишет его в поле в табличке. Так что потом разным запросам соответсвуют разные числа, а одинаковым - одинаковые.
..
Хочется создать функцию, которая не будет отъедать много ресурсов, но "практически всегда" для разных текстов запросов будет выдавать разные значения.
если речь идет о журнале трассировки аксапты, то условию "практически всегда" удовлетворяет \Data Dictionary\Tables\SysTraceTableSQL\Fields\RowSize


P.S. По сallStack тоже вполне удовлетворительно можно сгруппироваться. При группировке по этой паре полей вполне вменяемую статистику можно смотреть
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: Logger (2).
Старый 09.04.2007, 18:01   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
\System Documentation\Classes\TextBuffer\strHashKey
За это сообщение автора поблагодарили: Logger (2).
Старый 09.04.2007, 18:37   #4  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от belugin Посмотреть сообщение
\System Documentation\Classes\TextBuffer\strHashKey
Класс.

Только на сервере она хрен сработает. Там же вместо TextBuffer - заглушка стоит...
Старый 09.04.2007, 21:30   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Может, это поможет?
Extended Data Types
__________________
Axapta v.3.0 sp5 kr2
Старый 10.04.2007, 09:47   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
дело в том, что сохраненный текст запроса еще нужно будет очистить от литералов, и уже от очищенного рассчитать хеш
rowSize + callStack решают эту проблему
__________________
-ТСЯ или -ТЬСЯ ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменить план выполнения запроса Sequel DAX: Администрирование 2 29.05.2008 15:46
Теория: (Andreasen) вопросы по тексту Arahnid DAX: Администрирование 16 04.02.2008 13:28
Быстродействие запроса Antonuch DAX: Программирование 1 25.01.2008 15:58
Оптимизация запроса oleg_e DAX: Программирование 16 11.01.2008 10:22
Функция "Удалить строки" Oks DAX: Функционал 1 03.07.2002 18:09

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

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

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