Показать сообщение отдельно
Старый 29.11.2004, 13:14   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от =A=L=X=
В конфигурации включены аналитики: Склад, Номер партии, Ячейка, Код палеты, Цвет.

Во время резервирования из-за блокировок таблиц InventDim / InventSum и пр. колом встаёт служба сервиса и менеджеры по закупкам - ни заказы ни закупки не разносятся.
С такими аналитиками на InventDim нет подходящих индексов. Можно начать например с создания подходящего (или правки существующего) на InventDim. Первый на мой взгляд кандидат на это - DimIdx. Перенесите в его начало те аналитики, которые используете - Склад, Ячейку и т.д.

С блокированием InventSum пока не все понятно. "Множественные складские транзакции" используете? Посмотрите на индекс ClosedItemDiomIdx - совершенно дурацкий, как мне кажется (включать ли в индекс поля, принимающие всего два значения 0 и 1 - это отдельный вопрос, но делать их первыми в индексе - это что-то с чем-то). Перенесите в начало ItemId

Сразу оговорюсь - решения самые общие, принесут ли они счастье в Вашем конкретном случае, не видя приложения и БД, сказать нельзя. Но идея простая: чем выше селективность у используемого индекса, тем меньше строк данных и диапазонов индексов будет блокироваться при select forupdate, запущенном одним пользователем, тем комфортнее будет остальным.
__________________
-ТСЯ или -ТЬСЯ ?