|
Несовместимые блокировки в 1С | ☑ | ||
---|---|---|---|---|
0
breezee
07.10.17
✎
13:02
|
Добрый день! Подскажите, пожалуйста, что значит "блокировки несовместимы"? Когда они совместимы? Нашел только сам термин на ИТС, а значение термина не нашел.
|
|||
1
H A D G E H O G s
07.10.17
✎
13:04
|
Значит, что на ресурс нельзя наложить 2 блокировки.
|
|||
2
breezee
07.10.17
✎
13:30
|
(1) На "ресурс" в значении поля таблицы sql а не в значении ресурса регистра 1С?
Тогда все блокировки, у которых пересекаются поля блокирования - несовместимы? |
|||
3
H A D G E H O G s
07.10.17
✎
13:37
|
(2) Пофиг. Блокировка - универсальное понятие, нужно знать контекст. В среде sql порядка 30 видов блокировок, и, я не скажу тебе сходу таблицу совместимости.
|
|||
4
H A D G E H O G s
07.10.17
✎
13:39
|
В 1с есть объектные и транзакционные (управляемые) блокировки.
|
|||
5
H A D G E H O G s
07.10.17
✎
13:39
|
Вам каких вешать?
|
|||
6
Злопчинский
07.10.17
✎
14:12
|
ну там, в 1с обычно не взвешивают, а валят кучей.. перегруз получался... поэтому решили валить маленькими порциями по одной ложечке... пока клиент не скажет "достаточно..."
|
|||
7
breezee
07.10.17
✎
14:45
|
(4) Мне по управляемым
|
|||
8
Cyberhawk
07.10.17
✎
15:18
|
(7) Еще есть разница в 8.2 и 8.3 :) Вот картинка, сам иногда пользовался: http://catalog.mista.ru/upload/iblock/401/401ee8ef17b53ab8d0b57275bf7814f9.jpg
|
|||
9
H A D G E H O G s
07.10.17
✎
15:45
|
(8) Немного неправильная таблица
|
|||
10
H A D G E H O G s
07.10.17
✎
15:46
|
В 8.2, при Запрос.Выполнить() в управляемом режиме S-блокировка накладывается только на момент выполнения запроса, а не до конца транзакции
|
|||
11
H A D G E H O G s
07.10.17
✎
15:52
|
Но табличка - годная, прям самый смак.
Но если ты пытался спроектировать сам многопользовательскую/многопоточную систему - ты к этому со временем сам приходил 1) Начав с безблокировок 2) Получив коллизии общих ресурсов 3) Исправив коллизии X блокировками 4) Напоровшись на проблемы производительности 5) Обрезав время жизни X-блокировок 6) Не дойдя до s-блокировок, ибо их нет на уровне mutex/critical section, бросить это дело, ибо игра не стоит свеч пилить свой механизм s-блокировок. |
|||
12
Cyberhawk
07.10.17
✎
16:37
|
(10) Ты кажется забыл добавить, что в RCSI на 8.2 блокировки вообще в этом - Запрос.Выполнить() - случае не будет
|
|||
13
Cyberhawk
07.10.17
✎
16:40
|
А по поводу Х-блокировок из (11) можно еще добавить, что нефиг ставить документам свойство "Удалять движения автоматически"
|
|||
14
H A D G E H O G s
07.10.17
✎
16:57
|
(10) Будет, как не будет?
|
|||
15
H A D G E H O G s
07.10.17
✎
17:00
|
(12) Мы же внутри транзакции, ведь так?
Если не будет S блокировки - зачем бы тогда заморачиваться с snapshot ? |
|||
16
H A D G E H O G s
07.10.17
✎
17:02
|
(12) Вот при ReadUncommited S-блокировки не будет.
|
|||
17
H A D G E H O G s
07.10.17
✎
17:03
|
Вот еще годнейшая статья по жизни блокировок SQL
http://cascade-group.com.ua/1c-blocks-mssql/ |
|||
18
H A D G E H O G s
07.10.17
✎
17:04
|
Временные графики шикарны
|
|||
19
H A D G E H O G s
07.10.17
✎
17:10
|
В УТ11.2, кстати проблема ожиданий на блокировках на отгрузочном контуре !почти! решена.
1 проблема возникают, когда формируется счет-фактура на РТУ - при формировании стартует задание пересчета взаиморасчетов и идет монопольное увеличение константы номера задания - узкое место, но блокировка краткая. 2 проблема возникает при заполнении пздблск таблицы Видов Запасов, при которой РН ТоварыОрганизации блокируется прям при самом начале транзакции проведения. Я прям в шоке, будет посмотреть 11.4. |
|||
20
ildary
07.10.17
✎
22:17
|
(19) 1 проблема может быть еще шикарнее - задания на пересчет заносятся в регистр с датой НачалоМесяца, что может вызывать первого числа следующего месяца полное зависание базы при нажатии кнопки "Создать С/Ф".
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |