Редактировал(а) Alexandr Fokin 2024/06/07 23:56

Последние авторы
1
2
3 | |[[Пессимистичная блокировка>>doc:Архитектура и модели.Блокировки.Пессимистичная блокировка.WebHome]]|
4 | |sp_getapplock
5 [[https:~~/~~/learn.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-getapplock-transact-sql?view=sql-server-ver16>>https://learn.microsoft.com/ru-ru/sql/relational-databases/system-stored-procedures/sp-getapplock-transact-sql?view=sql-server-ver16]]|Prevent multiple users from running the same SQL Server stored procedure at the same time
6 [[https:~~/~~/www.mssqltips.com/sqlservertip/3202/prevent-multiple-users-from-running-the-same-sql-server-stored-procedure-at-the-same-time/>>https://www.mssqltips.com/sqlservertip/3202/prevent-multiple-users-from-running-the-same-sql-server-stored-procedure-at-the-same-time/]]
7 |Блокировка через основной механизм БД|{{code language="sql"}}Begin;
8
9 select *
10 from table with (UPDLOCK, READPAST)
11
12 --action
13
14 Commit;{{/code}}|
15 |Рекомендательные блокировки| |
16 |Other|(((
17 Использование уровня изоляции Read uncommitted для чтения и пометки заблокированных обработчиком (до конца транзакции) строк.
18
19 1) В отличии от postgresql позволяет задействовать индекс.
20 2) Изменение строки накладывает блокировку на строку, что не позволит обновить из другой транзакции и в этом плане равноценно updatelock. Что делает не подходящим решением.
21 )))|
22
23 ----
24
25 ==== Внутренние ссылки: ====
26
27 ====== Дочерние страницы: ======
28
29 {{children/}}
30
31 ====== Обратные ссылки: ======
32
33 {{velocity}}
34 #set ($links = $doc.getBacklinks())
35 #if ($links.size() > 0)
36 #foreach ($docname in $links)
37 #set ($rdoc = $xwiki.getDocument($docname).getTranslatedDocument())
38 * [[$escapetool.xml($rdoc.fullName)]]
39 #end
40 #else
41 No back links for this page!
42 #end
43 {{/velocity}}
44
45 ----