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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.05.2008, 15:37   #1  
Volodymyr is offline
Volodymyr
Участник
 
36 / 21 (1) +++
Регистрация: 03.11.2006
Адрес: Киев
Параллельная обработка данных
Всем привет!
Такой вопрос есть батч(пакет)-джоба, которая выполняет апдейт таблици.
PHP код:
run()
{
    
Trans trans;
    
Trans buffer;
    try
    {
        while 
select trans where trans.open == true
        
{
            
ttsbegin;
            
buffer Trans::find(trans.recidtrue);
            
buffer.open false;
            
buffer.update()
            
ttscommit;
        }
    }
    catch (
Exception::Deadlock)
    {
        
retry;
    }
    catch (
Exception::UpdateConflict)
    {
        
retry;
    }

Если запустить два батча, то что произойдет?

1) Первый батч выбирает из базы например 20 записей
2) Второй батч выбирает из базы теже 20 записей
3) Первы батч апдейтит первую запись - все ок
4) Второй батч апедйтит первую запись - конфликт апдейта
5) Второй батч зановов выбирает с базы, но уже 19 записей
6) Первый бачт апдейтит вторую линию
7) Второй батч апдейтит свою первую линию - кофликт апдейта ....

Получается что второй батч мешает всевремя первому. Можно ли сделать чтобы от двух был выигрышь?

Или я не правлиьно понимаю.
Спасибо!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Невозможно выполнить команду языка определения данных в () iHomer13 DAX: Программирование 8 18.07.2008 10:56
Стандартный импорт данных. Обновление sparur DAX: Функционал 0 24.03.2008 19:07
Распределенная база данных на основе View Владимир Максимов DAX: Программирование 27 04.09.2007 13:21
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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