|
|
|
Пара вопросов по блокировкам
|
|||
|---|---|---|---|
|
#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:12:29 |
|
||
|
Пара вопросов по блокировкам
|
|||
|---|---|---|---|
|
#18+
2. Совершенно правильно. Чтобы "снять" этот запрет, то пиши select sum(...), sum(...) from <table_name> with (nolock) Данная блокировка, работает столько времени, сколько времени выполняется запрос - в твоем случае 30 секунд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.11.2002, 13:42:49 |
|
||
|
|

start [/forum/topic.php?fid=46&gotonew=1&tid=1818960]: |
0ms |
get settings: |
9ms |
get forum list: |
26ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
218ms |
get topic data: |
8ms |
get first new msg: |
4ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 545ms |

| 0 / 0 |
