Цитата:
Сообщение от
=A=L=X=
В конфигурации включены аналитики: Склад, Номер партии, Ячейка, Код палеты, Цвет.
Во время резервирования из-за блокировок таблиц InventDim / InventSum и пр. колом встаёт служба сервиса и менеджеры по закупкам - ни заказы ни закупки не разносятся.
С такими аналитиками на InventDim нет подходящих индексов. Можно начать например с создания подходящего (или правки существующего) на InventDim. Первый на мой взгляд кандидат на это - DimIdx. Перенесите в его начало те аналитики, которые используете - Склад, Ячейку и т.д.
С блокированием InventSum пока не все понятно. "Множественные складские транзакции" используете? Посмотрите на индекс ClosedItemDiomIdx - совершенно дурацкий, как мне кажется (включать ли в индекс поля, принимающие всего два значения 0 и 1 - это отдельный вопрос, но делать их первыми в индексе - это что-то с чем-то). Перенесите в начало ItemId
Сразу оговорюсь - решения самые общие, принесут ли они счастье в Вашем конкретном случае, не видя приложения и БД, сказать нельзя. Но идея простая: чем выше селективность у используемого индекса, тем меньше строк данных и диапазонов индексов будет блокироваться при select forupdate, запущенном одним пользователем, тем комфортнее будет остальным.