![]() |
Модераторы: Akina |
![]() ![]() ![]() |
|
cra6 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 10.12.2007 Репутация: нет Всего: 2 |
Добрый день,
Работаю над многопоточным приложением(java-spring-hiberneit-Oracle-Mssql) Имееться множество одинаковых потоков(от 5 и больше) которые ломятся в базу и выбирают для себя записи-задания Для MSSQl это делается следующей транзакцией:
Данный подход стабильно приводит к дедлокам Решил с помощью tablockx:
Вопрос почему могут не работать (rowlock,updlock,readpast)? (Уровень изоляции READ COMMITTED). ЗЫ. Для Оракла работает следующий вариант
|
||||||
|
|||||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
Мало. Такую транзакцию надо сериализовать. С другой стороны я не понимаю, почему не сделано наоборот- сперва попросить сервер выбрать себе задания (update), и лишь потом читать, что для этого потока выбрано сервером. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
cra6 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 10.12.2007 Репутация: нет Всего: 2 |
Не знаю как это сделать учитывая что процесс должен отобрать заданное количество сообщений( select top(50))Подразумевается апдейт с подзапросом? И является ли tablockx аналогом SERIALIZABLE? Стоит ли менять то что сейчас работает? Это сообщение отредактировал(а) cra6 - 29.10.2010, 16:39 |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
Вообще-то нет. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Zloxa |
|
|||
![]() Чо? ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3473 Регистрация: 12.9.2008 Репутация: 10 Всего: 161 |
Я надеюсь Вы в курсе, что этот модификатор документирован только в 11.2 версии и использование его для младших версий - не лигитивно. -------------------- Достоверно известно, что 89% людей доверяют статистике взятой с потолка ![]() |
|||
|
||||
cra6 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 65 Регистрация: 10.12.2007 Репутация: нет Всего: 2 |
Спасибо
Это сообщение отредактировал(а) cra6 - 31.10.2010, 16:02 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "MS SQL" | |
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MS SQL Server | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |