08.10.2013, 18:15 | #21 |
Участник
|
Интересно, почему так получилось ? Неужели настолько часто дергается find(). Мне казалось что Invnetdim очень часто в джоинах бывает. Или они тоже могут приводить к такому способу доступа ?
|
|
08.10.2013, 19:36 | #22 |
Участник
|
Цитата:
Цитата:
Сообщение от Vadik
А можно "на пальцах" показать как префиксы в номерной серии приводят к усиленной фрагментации при вставке ? А то мне как-то казалось что при выделении в рамках одной сессии значение номерной серии монотонно возрастает, а в случае множественных сессий и неиспользования предварительного выделения номеров из серии фрагментация даже меньше чем при индексе по RecId и множественных инстансах AOS
На пальцах, записи физически отсортированы по кластерному индексу, если мы вставляем запись то с одним префиксом ключа то с другим (как здесь предлагалось для визуального разделения) системе приходится резервировать пустые места для вставки данных в разные места таблицы. |
|
08.10.2013, 22:20 | #23 |
Модератор
|
Цитата:
Цитата:
Цитата:
Что касается INVENTDIM, повторюсь - нагрузка на вставку есть "о малое" от общей, а обновлений нет. По поводу кластерного индекса по RECID "вообще" - повторюсь: это ОЧЕНЬ большое упрощение полагать что RECID в AX ведет себя подобно IDENTITY - достаточно за пять минут набросать на бумажке как идет вставка в системе с двадцатью компаниями и пятью AOS-ами (спойлер - никакого "монотонного возрастания значений там рядом не стояло)
__________________
-ТСЯ или -ТЬСЯ ? |
|
08.10.2013, 23:08 | #24 |
Участник
|
Цитата:
Сообщение от Vadik
По поводу кластерного индекса по RECID "вообще" - повторюсь: это ОЧЕНЬ большое упрощение полагать что RECID в AX ведет себя подобно IDENTITY - достаточно за пять минут набросать на бумажке как идет вставка в системе с двадцатью компаниями и пятью AOS-ами (спойлер - никакого "монотонного возрастания значений там рядом не стояло)
|
|
08.10.2013, 23:43 | #25 |
Участник
|
Цитата:
Цитата:
The UnitOfWork class automatically propagates the primary key value to the corresponding foreign key field, when the row with the foreign key field is inserted. The call pattern for inserts is first to add one record at a time to your constructed UnitOfWork object. After all the inserts have been added, you call the saveChanges method to persist the inserts to the database. The pattern is similar for updates and deletes. You can add inserts, updates, and deletes in succession, in any sequence, and then call the saveChanges method.
|
|
|
За это сообщение автора поблагодарили: Logger (3). |
09.10.2013, 19:16 | #26 |
Участник
|
Цитата:
Сообщение от Vadik
Это уже немного "вообще и ниочем", в дискуссиях ТАКОГО уровня абстракции я участвовать пока не готов.
Что касается INVENTDIM, повторюсь - нагрузка на вставку есть "о малое" от общей, а обновлений нет. По поводу кластерного индекса по RECID "вообще" - повторюсь: это ОЧЕНЬ большое упрощение полагать что RECID в AX ведет себя подобно IDENTITY - достаточно за пять минут набросать на бумажке как идет вставка в системе с двадцатью компаниями и пятью AOS-ами (спойлер - никакого "монотонного возрастания значений там рядом не стояло) Это не тоже самое что: давайте переделаем все связки через RecId. |
|
09.10.2013, 19:25 | #27 |
Участник
|
Это принципиально ничего не меняет. По Inventdim - это поле как бы не используется, но все равно значение используется в индексах по табличкам с которыми идет джоин (InventSum.InventdimID, InventTrans.InventDimId и.т.п) Ну и кроме того если по нему есть кластерный индекс в Inventdim - т.е. по факту поле все равно присутствует во всех остальных индексах и остаются в силе все соображения про экономию места для хранения значений ключа.
|
|
09.10.2013, 20:02 | #28 |
Модератор
|
Цитата:
Сообщение от Logger
Это принципиально ничего не меняет. По Inventdim - это поле как бы не используется, но все равно значение используется в индексах по табличкам с которыми идет джоин (InventSum.InventdimID, InventTrans.InventDimId и.т.п) Ну и кроме того если по нему есть кластерный индекс в Inventdim - т.е. по факту поле все равно присутствует во всех остальных индексах и остаются в силе все соображения про экономию места для хранения значений ключа.
Осталось только продемонстрировать на сколько порядков увеличится производительность, и дело в шляпе
__________________
-ТСЯ или -ТЬСЯ ? |
|
09.10.2013, 20:12 | #29 |
Участник
|
Ну я тогда не понял просто зачем вы упомянули про выбор индексов.
|
|
10.10.2013, 12:48 | #30 |
Участник
|
Цитата:
Когда кубы стали получать код номенклатуры в формате int (конвертация на уровне view), то процессинг ускорился раза в полтора-два |
|
|
За это сообщение автора поблагодарили: twilight (1). |