Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.01.2001, 14:33
|
|||
---|---|---|---|
Используйте SELECT |
|||
#18+
В команде SELECT предусмотрены специальные опции для явного указания способа блокировки. Например, UPDLOCK. Нужно послать отобрать SELECT-ом эту запись по уникальному идентификатору (т.е. по значению(ям) первичного ключа) с указанием способа блокирования. Тогда до окончания транзакции запись будет заблокирована указанным способом. Соответственно, когда кто-то другой обращается к этой записи, он будет ждать пока запись не разблокируется. С помощью команды SET LOCK_TIMEOUT можно задать время, в течение которого другой клиент ждёт освобождения записи. Как только время истечёт, клиент получит сообщение об ошибке. Короче, почитайте документацию про это и поэкспериментируйте с помощью SQL-запросов и Query Analazer-а. И сразу станет понятно, как и что блокировать. А поля всякие городить для отслеживания блокировок нужно было в SQL Server 6.5 и более ранних, т.к. там не было команды SET LOCK_TIMEOUT и не было блокировки на уровне записи и приходилось изощраться (на себе испытал). А в 7.0 без этого можно обойтись. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&tablet=1&tid=1827430]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 130ms |
0 / 0 |