|
![]() |
#1 |
Участник
|
Kashperuk Ivan: Dynamics AX Tutorials (continued)Hello, readers....
Источник: http://kashperuk.blogspot.com/2007/0...ued-hello.html
============== Dynamics AX Tutorials (continued) Hello, readers. After posting the first AX tutorial about Multiple Selection options in Dynamics AX we had a very interesting discussion about what's best to use in DAX at www.axForum.info After this discussion, I decided to dig into the issue some more and see for myself, what is the best choice here. So I modified the previous project a little bit: (you can download it here)
After this, I also did a test run on a 3-tier installation and on a 2-tier installation. Here are the Memory test results: (the first is in 2-tier, the second - in 3-tier configuration) Here are the Processing test results: (the first is in 2-tier, the second - in 3-tier configuration) The results of my tests can also be found at the homepage of this tutorial. As you can see from the results, the 3-tier environment provides more balanced results. And in 2-tier I got 25 to 60!!! times increase on Processing tests when not using joins. I would love to know what your resuls will be. Filling in data is also slightly slower when using Temporary Tables, but the difference is not that great, especially if you take into consideration the amount of records inserted into it (up to 100 000) You comments and suggestions are very welcome. Источник: http://kashperuk.blogspot.com/2007/0...ued-hello.html |
|
![]() |
#2 |
Участник
|
Ничего не понимаю (С) Следствие ведут колобки
А можно в двух словах рассказать что за модификации были? На уровне идеи. Цитата:
Но речь то шла о различных способах ставить галочку. Какой способ лучше то? Возможно, я тупой, но 60 раз нигде не увидел. Ой, а можно на русском? ![]() |
|
![]() |
#3 |
Участник
|
Цитата:
![]() Если кратко, то: добавил на отд. закладку возможность выбора с галочкой, но используется временная таблица (+ возможность обработки соединением с InventTable) добавил на отд. закладку возможность использования стандартного подхода Аксаптовского. добавил возможность для SET формирования запроса (через OR - то есть возможны глюки при очень большом кол-ве выделенных записей) для того, чтобы послать только 1 запрос на сервер, вместо многократных вызовов по 1 записи. добавил класс, работающий на сервере, который проходится по выделенным строках, и выводит название номенклатуры - при этом мы имеем только Код - соответственно, в некоторых случаях нужно сначала найти это название. Добавил в проект JOB для теста скорости заполнения данными различных источников. Вроде все. Цитата:
Поэтому и предлагаю скачать, попробовать, посмотреть результаты, и показать их другим. Судя по моим результатам, все решения нормальные. И подбирать тот или иной подход нужно на основании конкретной задачи (обработки, которую нужно будет делать с выбранными строками) Нет, все верно, цифры 60 нигде нет на картинках. Но есть 59. Именно о ней и шла речь. (2уровневая конфигурация). В сравнении с стандартным подходом и использованием временной таблицы (с JOIN) время в 59 раз больше ![]() Запросто. blogspot все стерпит ![]() Можно их и здесь разместить. как угодно. Интересно было бы посмотреть и результаты выполнения - сделать это совсем не сложно - собственно, нажать кнопочек этак 7 или 8. |
|
![]() |
#4 |
Участник
|
Вот еще результаты
(около 96 000 номенклатур - 2tier) 189 сек - через SET - 5 Mb на заполнение (SET через OR по понятным причинам с таким кол-вом номенклатур не работает) 709 сек - через временную - 17 Мб на заполнение - видимо, винт медленный (ноутбук) 216 сек - временная с JOIN 44 сек!! - стандартный MULTISELECT - 140 Мб (пиковое потребление) Думаю, комментарии излишни. |
|
![]() |
#5 |
Участник
|
Почему же?
как раз нужны комментарии. желательно комментарии автора. |
|
![]() |
#6 |
Участник
|
Автор и здесь я
![]() Другая база просто, с бОльшим намного кол-вом номенклатуры. А комментарии Видим, что SET получился лучше временной таблицы, даже если используется JOIN. Думается мне, что и при использовании временной таблицы результаты были бы значительно лучше, но винт медленный (4200 оборотов), и загаженный. Поэтому возможно задержки связаны именно с обращениями к винту, но FileMon не было под рукой, чтобы убедиться наверняка. SET проигрывает значительно стандартному Аксаптовскому способу, но последний кушает значительно больше памяти. Можно будет попробовать организовать коллекцию Record'ов, и сравнить после этого быстродействие (когда и там и там будут уже подготовленные курсоры) Но это результаты с 2х звенки, и, мне кажется, они не так интересны/актуальны. На след. неделе будут еще результаты 3х звенки (около 68000 номенклатур) |
|
![]() |
#7 |
Участник
|
Ну, я это и имел в виду.
На мой вгляд итог может и должен подводить тот, кто начал тему. Про SET понял. А какой трафик гоняется по сети? На какой сети ты проверял? Если включить симуляцию медленного канала, то соотношение будет таким же? http://www.microsoft.com/Rus/Dynamic...onitoring.mspx |
|
Теги |
axapta, map, multiselect, set, tmp, маркировка, полезное, производительность, скорость, тестирование |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|