Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

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

start [/forum/topic.php?fid=46&mobile=1&tid=1822890]: |
0ms |
get settings: |
12ms |
get forum list: |
21ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
76ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 269ms |
| total: | 457ms |

| 0 / 0 |
