Имя: Пароль:
1C
1С v8
Странно работает UPDLOCK
0 alexlap
 
15.09.16
17:46
MS SQL 2008 R2:

Делаю следующее:
Begin Transaction

Select TOP 100 [uniqueTradeId], [instrumentId], [MarketTradeTime]
From Transactions with (UPDLock, READPAST)
WHERE [TradeDate] is Null
Order by [MarketTradeTime]

далее в цикле для каждой записи:

update Transactions
SeT [TradeDate] = ?
Where [uniqueTradeId] = ?

Commit Transaction

Индексы:
[uniqueTradeId]  уникальный кластерный
[TradeDate], [MarketTradeTime]  - обычный


При первом же update - выдает превышено время ожидания запроса. Даже в одном потоке. Что не так,
Без - with (UPDLock, READPAST)  работает нормально.
1 xafavute
 
15.09.16
17:47
индекс на таблице есть?
2 xafavute
 
15.09.16
17:49
посмотри в профайлере что блокируется?
возможно вся таблица
3 alexlap
 
15.09.16
17:56
(1) Индексы написал какие есть.
(2) А что транзакция может заблокировать саму себя?
4 xafavute
 
15.09.16
18:00
саму себя конечно не может
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.