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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.03.2008, 10:22   #1  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
? Надо преименовать ItemId. Почему блокируется вся таблица?
**** Выделено отсюда reNameItemId для InventTable ****

Более подходящей темы не нашел.
Есть несколько вопросов, может кто-то сталкивался?
DAX4 SP2
1. Надо преименовать ItemId. Делаем это стандартным RenamePrimaryKey()
2. 5-6 месяцев назад процесс занимал 5-10 минут и почти ни кто этого не замечал
3. Сейчас процесс может растянуться на все 20 минут и много народа начинает ругаться что тормозит все.
4. В MSSQL видим что данный процесс блокировал все остальные!
5. Пробовал делать эту операцию для номенклатуры у которой нет ни одной проводки, результат тот же..

Собственно вопрос:
В чем может быть проблемма, почему блокируются полностью таблицы а не отдельные записи и вообще как можно побороть это безобразие?
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 12.03.2008, 12:10   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от blokva Посмотреть сообщение
Более подходящей темы не нашел.
Лучше новую открыть.

Цитата:
Сообщение от blokva Посмотреть сообщение
Есть несколько вопросов, может кто-то сталкивался?
DAX4 SP2
1. Надо преименовать ItemId. Делаем это стандартным RenamePrimaryKey()
2. 5-6 месяцев назад процесс занимал 5-10 минут и почти ни кто этого не замечал
3. Сейчас процесс может растянуться на все 20 минут и много народа начинает ругаться что тормозит все.
4. В MSSQL видим что данный процесс блокировал все остальные!
5. Пробовал делать эту операцию для номенклатуры у которой нет ни одной проводки, результат тот же..

Собственно вопрос:
В чем может быть проблемма, почему блокируются полностью таблицы а не отдельные записи и вообще как можно побороть это безобразие?
А какая именно таблица заблокировалась?
Скорее всего InventTrans или InventSettlement.
Для этих таблиц индекс по ItemId не является селективным, если таблицы большие.
Поэтому оптимизатор SQL скорее всего делает FullScan и быстро эскалирует блокировку с уровня записей на уровень страниц, а затем и до таблицы.

Раньше (когда проводок было относительно немного) индекс по ItemId был селективным.

Что-нибудь в этом духе.

Посмотрите что именно блокируется и как выбираются записи в блокируемой таблице.
__________________
полезное на axForum, github, vk, coub.
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
таблица InventJournalReportTable_RU Andrux DAX: Программирование 2 17.08.2007 13:56
Почему в запросе пропадает хинт sergeypp DAX: Программирование 5 06.03.2007 19:00
Почему суммируется только последнее значение? vesna DAX: Программирование 14 03.08.2005 17:47
Почему такое расхождение в скорости выполнения Владимир Максимов DAX: Программирование 28 11.09.2004 12:44
Клиенты и поставищики - почему в разных таблицах? renat DAX: Программирование 33 20.05.2003 13:14

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:45.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.