
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
10.11.2002, 13:12:29
|
|||
|---|---|---|---|
Пара вопросов по блокировкам |
|||
|
#18+
Добрый день. Прочитал пор блокировки в связи с чем у меня возникла пара вопросов. 1. Как я понял, есть такая вещь, как коллективные блокировки (Shared). Как сказано в книжке, этот тип блокировок накладывается при операциях чтения данных, таких как SELECT. При этом SQL Server гарантирует, что пока стоит эта блокировка данные не изменятся. У меня есть запрос, который делает данные отчет по таблице - нечто вроде select sum(), sum() from ... group by ... Этот запрос выполняется где-то около 30 секунд. То есть, если я правильно понял, в течении этих 30 секунд данные в этой таблице изменить никто не сможет ? А можно ли этому помешать - запретить ставить блокировку на этот запрос ? 2. На какое время ставятся коллективные блокировки ? Если мой select выполняется на сервере 30 секунд и еще 30 секунд данные fetch-ся на клиент, на какой период была поставлена блокировка - 30 секунд или 1 минута (30+30) ? Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
10.11.2002, 13:42:49
|
|||
|---|---|---|---|
|
|||
Пара вопросов по блокировкам |
|||
|
#18+
2. Совершенно правильно. Чтобы "снять" этот запрет, то пиши select sum(...), sum(...) from <table_name> with (nolock) Данная блокировка, работает столько времени, сколько времени выполняется запрос - в твоем случае 30 секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1818960]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 326ms |

| 0 / 0 |
