Независимый форум, посвященный системе БОСС-Кадровик и всему, что с ней связано
|
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Вт Фев 02, 2016 20:22 Заголовок сообщения: Deadlock при расчете зарплаты. |
|
|
Доброго вечера.
Зарплата рассчитывается одновременно несколькими пользователями, при этом каждый работает со своей группой работников.
Во время расчета стали возникать блокировки (deadlocks) на уровне страницы (page lock) при одновременном выполнении следующих инструкций:
z-процедура _ВО_0311
Код: |
/* Заполнить протокол */
sput(st,"DELETE FROM sl_ytax WHERE t=%d and cmonth=%d and id_const_uder=%d;",SY.t,SY.cmonth,SY.id_const_uder);
DO_SQL(st);
|
и z-процедура _ВО_0306
Код: |
sput(
st_13,
"insert into sl_ytax (%s card_id, firm_id, cmonth, tmonth, tyear, t, nt,
n200, n420, n3100, n3100a, n5100, n6001, n6002, n9,
u10, u11, u21, u30, u42, u99, t200, t6001, t6002, t200_3, t6001_3, shop, u_10, n13d, t13d)
values(%s :card,:f,:cm,:tm,:ty,1,:nt,
:n200, :n420, :n3100, :n3100a, :n5100, :n6001, :n6002, :n9,
:u10, :u11, :u21, :u30, :u42, :u99,
:t200, :t6001, :t6002, :t200_3, :t6001_3, :shop_, :u_10, :n_13d, :t_13d)",
id_name, id_value
);
|
Как решение проблемы, с учетом действующей организации расчета (параллельно в несколько пользователей) и при использовании текущих настроек объектов БК (таблиц и процедур), напрашивается повышение производительности сервера и, возможно, пользовательских рабочих станций.
Возможно, в данном конретно случае, можно применить другой более действенный способ для борьбы с такими блокировками?
Поделитесь, пожалуйста, если у кого-то есть идеи.
Спасибо! |
|
Вернуться к началу |
|
 |
DUCKKK Большой шоколадный орден

Зарегистрирован: 16.09.2009 Сообщения: 1690
|
Добавлено: Чт Фев 04, 2016 12:15 Заголовок сообщения: |
|
|
Попробуйте добавить в таблицу sl_ytax индекс по полю iid_const_uder |
|
Вернуться к началу |
|
 |
Mikhail
Зарегистрирован: 16.08.2012 Сообщения: 177 Откуда: Москва
|
Добавлено: Чт Фев 04, 2016 14:47 Заголовок сообщения: |
|
|
DUCKKK, спасибо, попробую только по одному полю id_const_uder.
Пока же я пробовал только добавлять индекс по нескольким полям (t, cmonth, id_const_uder), но это не дало нужных результатов. |
|
Вернуться к началу |
|
 |
DUCKKK Большой шоколадный орден

Зарегистрирован: 16.09.2009 Сообщения: 1690
|
Добавлено: Чт Фев 04, 2016 14:49 Заголовок сообщения: |
|
|
Не нужно составного, именно по одному полю. |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|