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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.03.2009, 11:45   #21  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от bobski Посмотреть сообщение
да, поменяю модель восстановления БД на Простую.
Э-э-э... Надеюсь не на рабочей базе?
__________________
полезное на axForum, github, vk, coub.
Старый 05.03.2009, 11:52   #22  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
И будет чертовски обидно, если после нескольких часов работы транзакция откатится из-за недостатка места под transaction log
Не говоря уже о тех несчастных пользователях, которые ждут окончания блокировки чтобы продолжить свою никчемную работу по обработке текущих заказов, а также любых складских операций (из-за блокировки inventSum)
Ну..., по моему будет обиднее разбираться, какая часть данных создалась, а какая нет.
Хотя было же уже предложено поделить на несколько файлов. А по поводу блокировок, такие операции не обязательно делать в час-пик.
Старый 05.03.2009, 12:13   #23  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Временная таблица
Видимо, мой вопрос останется без ответа.
Версия При импорте часто используют временные таблицы, в которые сохраняют какие-то промежуточные данные (обычно лог созданного), а при импорте новой строки сверяются с ними, то есть выполняют select.
Все прекрасно работает пока временная таблица в ОЗУ, но как только Аксапта скидывает ее на диск начинаются тормоза и чем дальше тем хуже... импорт уходит в бесконечность.

Этим страдает и стандартный импорт.
Думаю, это ваш случай.
За это сообщение автора поблагодарили: mazzy (2).
Старый 05.03.2009, 12:16   #24  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Ну..., по моему будет обиднее разбираться, какая часть данных создалась, а какая нет.
Посмотрел код еще раз.
А ведь действительно - импорт в этой ветке не предполагает, что данные уже могут существовать.
Т.е. повторный импорт не предусмотрен.

Тогда согласен - лучше сделать в одну транзакцию.

Хотя более правильным было бы сделать по другому:
1. программист должен учитывать, что импорт одного и того же файла может выполняться несколько раз. либо в результате ошибки оператора, либо еще по каким причинам.
2. программист должен проверить, не была ли уже заимпортирована запись.
2.1. если уже существует, то
2.1.1. если запись была изменена, то либо ошибка, либо варнинг, либо overwrite в зависимости от настроек и логики импорта
2.1.2. если запись не изменена, то пропустить запись
2.2. если запись еще не существует, то создать ее.

тогда можно выполнять импорт мелкими кусками и не беспокоится о нагрузке.
Но только придется побеспокоится о каком-то идентификаторе, который позволит однозначно сопоставить импортируемые и уже существующие в Аксапте данные.
__________________
полезное на axForum, github, vk, coub.
Старый 05.03.2009, 12:19   #25  
bobski is offline
bobski
Участник
 
38 / 11 (1) +
Регистрация: 01.10.2008
Отчего же, Wamr. Ответ есть. Отвлекся. К сожалению временные таблицы не задействованы. Было бы на что грешить, кроме самого себя.
Старый 05.03.2009, 12:39   #26  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
bobski, есть предположение, что у вас список неиспользованных номеров в номерной серии растет сильно. Смотрите, серия непрерывная, при выделении номера вы говорите makeDecisionLater = true (второй параметр в NumberSeq::newGetNum()), но нигде не отмечаете выделенный номер как использованный. Скорее всего, у вас NumberSequenceList вырастает до безбожных размеров. А так как он проверяется при каждом вызове NumberSeq::num(), производительность падает потихоньку.

Проверьте NumberSequenceList. У вас там должна быть куча номеров в статусе Active. Кроме того, добавьте вызов numberSeq.used(), либо вызывайте newGetNum() с makeDecisionLater = false.

Кстати, в джобе из первого сообщения такой проблемы нет, так как там makeDecisionLater = false.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
За это сообщение автора поблагодарили: mazzy (2), Logger (1).
Старый 05.03.2009, 12:50   #27  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,319 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
А еще в 4.0 есть волшебный классик \System Documentation\Classes\RecordInsertList. Специально так сказать сделанный давно давно для массовых вставок. Конечно в будущих версиях его кажется убрали... Но в 4.0 его еще можно заюзать.
Смысл в том, чтобы вместо insert() использовать RecordInsertList.add(). А по завершению - RecordInserList.insertdatabase().
И еще. Может все-таки откажетесь от непрерывной номерной серии и поставите ей предварительное выделение (а может и ручками сами посчитаете номера)? Хотя бы на время импорта.
__________________
Возможно сделать все. Вопрос времени
Старый 05.03.2009, 13:28   #28  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
А еще в 4.0 есть волшебный классик \System Documentation\Classes\RecordInsertList. Специально так сказать сделанный давно давно для массовых вставок. Конечно в будущих версиях его кажется убрали... Но в 4.0 его еще можно заюзать.
Смысл в том, чтобы вместо insert() использовать RecordInsertList.add(). А по завершению - RecordInserList.insertdatabase().
И еще. Может все-таки откажетесь от непрерывной номерной серии и поставите ей предварительное выделение (а может и ручками сами посчитаете номера)? Хотя бы на время импорта.
В будущих версиях он по-прежнему есть и помогает делать массовые вставки, когда не получается использовать insert_recordset
Старый 05.03.2009, 13:47   #29  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
что-то мы все тут гадаем и гадаем...
может пора уже посмотреть SQL трейс и загрузку диска\памяти\проца на локальной машинке?
За это сообщение автора поблагодарили: mazzy (2).
Старый 06.03.2009, 23:24   #30  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Wamr Посмотреть сообщение
что-то мы все тут гадаем и гадаем...
может пора уже посмотреть SQL трейс и загрузку диска\памяти\проца на локальной машинке?
а еще есть TraceParser
Старый 29.04.2009, 17:40   #31  
jaran is offline
jaran
Участник
 
20 / 15 (1) ++
Регистрация: 24.12.2004
Проверьте выполнение на толстом и тонком клиенте
На Axapta 3.0 SP3 в подобном коде на толстом клиенте не происходит замедления процесса создания заказов, в то время как на тонком скорость постепенно падает
Теги
asciio, createline, заказ, затяжка, скорость

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Расчеты с поставщиками\Функции\Создание на основе заказов\Резервирование заказанной номенклатуры slava09 DAX: Функционал 10 30.01.2007 13:57
Создание склад. журналов из заказов basanko DAX: Функционал 17 30.12.2006 11:49
Создание заказов пакетно chel DAX: Администрирование 5 01.07.2004 15:13
"Закупка на основе заказов" или "сводное планирование" Hamster DAX: Функционал 2 17.02.2004 01:47
Создание заказа? 2b4fITin DAX: Функционал 13 02.02.2004 15:52

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

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

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