Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как избежать блокировок?
|
|||
|---|---|---|---|
|
#18+
У меня есть псевдо временная таблица, в которой хранятся данные для отчетов. Хранимые процедуры, формирующие отчет, пишут туда свои результаты, а приложение оттуда читает. В ХП выполняются Delete, Insert и Update. В таблице есть поле куда пишется @@spid, поэтому каждый процесс работает со своим куском таблицы. При небольшом количестве пользователей (5-10) на чинаются длительные блокировки и.т.д. Можно ли как-нибудь избежать блокировок ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 06:40 |
|
||
|
Как избежать блокировок?
|
|||
|---|---|---|---|
|
#18+
А что это такое за псевдо временная таблица ? во время начала выполнения процедуры ставь set transaction isolation level read uncommited после окончания set transaction isolation level read commited or select (nolock) ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 06:53 |
|
||
|
Как избежать блокировок?
|
|||
|---|---|---|---|
|
#18+
Псевдо временная это значит что это обычная таблица, которая всегда существует, просто она используется как временная. С временными таблицами не хочется возиться. Насколько я понял из BOL transaction isolation level действует только на Select, а у меня блокировки возникают из-за Delete,Insert,Update, которые выполняются из разных процессов. Поэтому, мне кажется, что с помощью transaction isolation level проблему не решить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 07:08 |
|
||
|
Как избежать блокировок?
|
|||
|---|---|---|---|
|
#18+
Как бы разные процессы не работали со своими кусками таблицы, индексы на этой таблице - общие, поэтому возникает конкуренция за обновление индексов при изменении данных. Кроме того, данные разных процессов могут лежать на одних страницах, а внутри страниц происходит переупорядочивание данных при обновлении. Опять возникает конкуренция. Поэтому все равно процессы будут мешать друг-другу. Чтобы такого не происходило, используют локальные временные таблицы, которые гарантировано видны только внутри сессии, их создавшей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 07:11 |
|
||
|
Как избежать блокировок?
|
|||
|---|---|---|---|
|
#18+
Без обид... Хорошая позиция не хочу возится с временными таблицами буду возится с блокировками.. а оно того стоит? лучше я думаю наоборот. лично я во многих случаях от блокировок спасаюсь именно времянками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.04.2002, 07:33 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32029264&tid=1822890]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 257ms |
| total: | 371ms |

| 0 / 0 |
