Изменения документа MSSQL. Организация блокировок с пропуском заблокированных
Редактировал(а) Alexandr Fokin 2024/06/07 23:56
отредактировано Alexandr Fokin
на 2024/06/07 23:56
на 2024/06/07 23:56
отредактировано Alexandr Fokin
на 2024/06/07 23:49
на 2024/06/07 23:49
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,45 +1,0 @@ 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 -----