12.04.2011, 12:57 | #21 |
Участник
|
Цитата:
Цитата:
Цитата:
DATAAREAID, INVENTTRANSORIGIN, INVENTDIMID, RECID Индекс - кластерный Цитата:
Если имеет в виду InventTransOrigin<OriginatingTable>::findInventTransOriginId(…), то InventTransOrigin<OriginatingTable> - это название таблицы, InventTransOriginSalesLine, к примеру
__________________
Axapta v.3.0 sp5 kr2 Последний раз редактировалось AndyD; 12.04.2011 в 12:59. |
|
12.04.2011, 13:00 | #22 |
Участник
|
Бесспорно, т.к. во втором случае серверу БД нет необходимо читать данные из всей таблицы с кучей полей, а достаточно воспользоваться одним из некластерных индексов содержащих ItemId (GroupItemIdx, TypeIdx, DimGroupItemIdx, и т.д.)
|
|
12.04.2011, 13:08 | #23 |
Участник
|
Цитата:
Сообщение от Alexius
А как же банальная формочка просмотра проводок, если в нее попадает несколько сотен записей, то скорость работы с объединенными табличками скорее всего будет близка к скорости работы с одной, но если туда будут попадать тысячи записей, то накладные расходы сервера на объединение будут ощутимыми.
|
|
12.04.2011, 13:09 | #24 |
Участник
|
Цитата:
В обоих запросах используется как-раз таки кластерный ключ по ItemId, что эквивилентно пробегу по странцам с данными
__________________
Axapta v.3.0 sp5 kr2 |
|
12.04.2011, 13:15 | #25 |
Moderator
|
Рискну предположить, что у вас в рознице слишком уж много полей в inventTable и при этом сама таблица прочно закэширована в памяти SQL Server. Поэтому начинают играть затраты на передачу данных по сети, поскольку затраты на чтение с диска минимизированы. Но все равно - в большинстве случаев, затратами на передачу данных между сервером и клиентом - можно пренебречь.
|
|
12.04.2011, 13:21 | #26 |
Участник
|
2 AndyD
На сколько я понял, структура данных АХ 2012, описанная в Implementing_InventTrans_refactoring_for_Microsoft_Dynamics_AX_Applications_AX2012.pdf не соответствует действительности. |
|
12.04.2011, 13:25 | #27 |
Участник
|
Т.к. при использовании некластерного индекса для получения результата перебирается меньше данных.
Цитата:
X++: SELECT * FROM INVENTTABLE SELECT ItemId FROM INVENTTABLE |
|
12.04.2011, 13:25 | #28 |
Участник
|
Да, розница
Но этот запрос я делал на тестовом сервере, где людей вообще нет. Да и затраты здесь идут не от прокачки бо'льших объемов по сети, а от используемых серверных курсоров и операции фетча, вызовы которой дают значительный оверхед на операции
__________________
Axapta v.3.0 sp5 kr2 |
|
12.04.2011, 13:31 | #29 |
Moderator
|
Может вы туда еще и container-field добавили ? Просто, насколько я помню, обычно в запрсое используются легкие курсоры (это fast forward кажется), но если в таблице есть BLOB-поля,то легкие курсоры автоматически апгрейдятся SQL-server до нелегких. (Не помню точно каких).
|
|
12.04.2011, 13:35 | #30 |
Участник
|
Цитата:
Но переделка запроса на поле, не участвующее ни в одном индексе картину не поменяло - скорость различается на те же 2,5-3 раза
__________________
Axapta v.3.0 sp5 kr2 |
|
12.04.2011, 13:37 | #31 |
Microsoft Dynamics
|
В чем я вижу преимущество данной модели - добавление полей для кастомизации хорошо ложиться на данную модель. Очень часто на проектах встречается, что в InventTrans добавлено с десяток полей, причем в основном не типа CostAmount, а как раз очень сильно зависящих от источника. Даже не говоря о производительности, будет намного более понятно и логично, если их разложить по InvenTransOriginам. Хотя, IMHO, количество Originов действильно немного большее, чем достаточное
|
|
12.04.2011, 13:44 | #32 |
Участник
|
Занятно, я ожидал уменьшения разницы. Видимо действительно в этом примере так велики затраты на формирования набора записей со всеми полями и возвращение его клиенту (АОСу). В любом случае запросы с избыточным числом полей ЗЛО
|
|
12.04.2011, 13:49 | #33 |
Moderator
|
Цитата:
Сообщение от mifi
В чем я вижу преимущество данной модели - добавление полей для кастомизации хорошо ложиться на данную модель. Очень часто на проектах встречается, что в InventTrans добавлено с десяток полей, причем в основном не типа CostAmount, а как раз очень сильно зависящих от источника. Даже не говоря о производительности, будет намного более понятно и логично, если их разложить по InvenTransOriginам. Хотя, IMHO, количество Originов действильно немного большее, чем достаточное
|
|
12.04.2011, 14:26 | #34 |
Участник
|
Цитата:
В обоих случаях тип курсора Fast forward-only cursor
__________________
Axapta v.3.0 sp5 kr2 |
|
12.04.2011, 20:14 | #35 |
Участник
|
День добрый,
Цитата:
Назначение всех неслужебных таблиц должно быть объяснимо в терминах специалистов предметной области. Типа: CustInvoiceJour - шапки накладных, CustInvoiceTrans - строки накладных, CustTrans - субконто проводок по поставщику, CustSettlement - данные о сопоставлениях (закрытии друг на друга) платежей и оплат.
Боюсь что "эта ваша" схема разложения складских проводок не в состоянии преодолеть этот простой критерий Цитата:
1. Почему название поля InventTransOrigin с названием таблицы ? Логичнее кажется добавить для единообразия суффикс Id
Цитата:
5. Что хранит поле InventTransOrigin.ItemInventDim ?
__________________
Thx, Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/ Последний раз редактировалось Ievgenii; 12.04.2011 в 20:16. |
|
12.04.2011, 23:06 | #36 |
Участник
|
Цитата:
__________________
Ivanhoe as is.. |
|
14.04.2011, 00:52 | #37 |
Участник
|
Цитата:
SKU? По-русски, наверное, ближайшее - Артикул.
В Dynamics Ax 2012 такие сущности как SKU и/или Handling Units пока не реализованы (ИМО), но рано или поздно появятся и это вообще отдельная история. Надеюсь терминологию не попутают
__________________
Thx, Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/ Последний раз редактировалось sukhanchik; 14.04.2011 в 13:13. Причина: Подправил орфографию во избежание повторных эксцессов по орфографии |
|
14.04.2011, 10:26 | #38 |
Участник
|
как я понял все эти рефакторинги inventtrans и ledgertrans в AX 2012, а также табличное наследование и переделка relations для поддержки улучшенного моделирования. Судя пр тренду они хотят улучшить моделирование процессов и их отражение.
поэтому весь этот рефакторинг затеяли ради моделей, и лучшего проецирования моделей на физические сущности. я так понимаю дальше появится наверно какой то инструмент Modeller (возможно UML modeller с генератором классов и таблиц на основе моделей) возможно в следующей версии, с которым можно будет подбирать и строить лучшие модели а все физические сущности и связки будет делать modeller. (то есть таблицы, иерархии, отношения) явное прослеживается Единность модели базовый класс и наследники Базовая таблица и таблицы спутников наследников. Последний раз редактировалось Evgeniy2020; 14.04.2011 в 10:28. |
|
14.04.2011, 10:32 | #39 |
Administrator
|
Эх... и никто не вспоминает из 3.0 MorphX Explorer (или как он там назывался) - который умел рисовать все вот эти модельки. Да, он был конечно бедный... но был.
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
14.04.2011, 10:51 | #40 |
Участник
|
Ну, скажем так, он, насколько я помню, умел только существующие таблицы отображать с их связями - а это и сейчас имеется, только называется по-другому и работает в Visio, что намного удобнее, имхо.
|
|
Теги |
ax2012 |
|
Похожие темы | ||||
Тема | Ответов | |||
Проблема с поиском в InventTrans после changeCompany (DAX4) | 11 | |||
Связь таблиц InventTrans и PurchLine | 2 | |||
Русская локализация Axapta 3 ? | 59 |
|