Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
Здравствуйте !! Необходимо вставить записи у удаленную таблицу: Insert into aa select a.b.dbo.c with (ROWLOCK) но LockType показывается TAB. Как это побороть ? ситуация аналогична и с Delete. Зачем блокировать всю таблицу, если можно только строки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2001, 13:26 |
|
||
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
Как всетаки добиться ROWLOCK? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2001, 14:25 |
|
||
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
IMHO ваш INSERT воспринимается сервером не как скажем 100 отдельных команд INSERT для каждой записи из a.b.dbo.c, а как bulk insert, что есть несколько другое дело. Возможно вам поможет установка "table lock on bulk load" в процедуре sp_tableoption ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2001, 14:46 |
|
||
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
При добавлении записи (записей) в таблицу происходит блокирование всей таблицы. От этого никуда не уйти, хоть какие хинты выставляй. Иначе возможна попытка одновременого добавления записи из разных сессий (десятой после существующих девяти), которые при сохранении наложатся друг на друга - одна новая запись уничтожит другую. Блокировка RowLock не поможет, поскольку добавляются РАЗНЫЕ записи. RowLock работает только по команде Update. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2001, 10:46 |
|
||
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
2Garya Что тогда подразумевает наличие в BOL для команды INSERT утверждения что INSERT [ INTO] { table_name WITH ( < table_hint_limited > [ ...n ] ) ... < table_hint_limited > ::= { FASTFIRSTROW | HOLDLOCK | PAGLOCK | READCOMMITTED | REPEATABLEREAD | ROWLOCK | SERIALIZABLE | TABLOCK | TABLOCKX | UPDLOCK } Или создатели BOL просто скопировали один и тот же список хинтов для SELECT/INSERT/UPDATE ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2001, 11:43 |
|
||
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
У меня проблема не с блокировкой таблицы при вставке записи, а в блокировании нескольких строк , соответствующих табличной части открытого док-та, вместо страниц таблицы. Как этого добиться? И, вообще, как обеспечить полное соответсвие табличной части, если возможен к ней доступ вне док-та? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2001, 13:12 |
|
||
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
2Glory. Я вычитал такую трактовку в книге. Сечас специально полез искать, но не смог найти. Хорошо помню, что видел. Тем не менее, признаю, что мог несколько некоректно истолковать написанное. Возможно, там подразумевалось поведение блокировки при определенном значении уровня изоляции и, возможно, не при всех уровнях изоляции результат выполнения запроса с этим хинтом одинаков. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.10.2001, 17:26 |
|
||
|
Как добиться NOLOCK или ROWLOCK
|
|||
|---|---|---|---|
|
#18+
Я вот помню, что при выходе 6.5 одним из главных преимуществ по сравнению с 6.0 было то, что добились ROWLOCK при инсерте, а не PAGELOCK как раньше. Идея в том, что при нарастающем кластерном индексе страница на конце таблицы становится "горячей точкой" - при одновременном инсёрте получается блокировка и обязательно последовательное выполнение. А если ROWLOCK, то инсёрт может идти параллельно, не блокируя соседние записи. Так что ROWLOCK при инсерте есть, начиная с 6.5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2002, 07:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32015585&tid=1823415]: |
0ms |
get settings: |
4ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 369ms |

| 0 / 0 |
