оба запроса используют некоторые таблицы, которых нет на sys слое. Но могу выложить их sql-текст.
Первый запрос, получение очередной строки из которого происходит мгновенно:
Код:
select itm.itemId
from inventTableModule itm(nolock)
join
(select availPhysical = sum(availPhysical), itemId
from InventSum (nolock)
where availPhysical > 0
and closed = 0
and dataareaId = 'dat'
group by itemId
)as t on t.itemId = itm.itemId
join inventTable it (nolock) on it.ItemId = itm.itemId
where itm.Blocked = 1
and itm.ModuleType = 2
and itm.dataareaId = 'dat'
and it.dataareaId = 'dat'
and it.itemType = 0
and it.itemRangeIdRef not in
( select RangeIdRef
from inventItemRangeRef ref (nolock)
where ref.RangeIdRefParent in (229837,228003,228265,225907)
and ref.dataareaId = 'dat')
Второй зпрос, получение очередной строки которого происходит долго:
Код:
select itm.itemId
from inventTable it (nolock)
join inventTableModule itm(nolock) on itm.ItemId = it.ItemId and moduleType = 1
where itm.Blocked = 0
and itm.dataareaId = 'dat'
and it.dataareaid = 'dat'
and it.itemType = 0
and it.itemRangeIdRef not in
( select RangeIdRef
from inventItemRangeRef ref (nolock)
where ref.RangeIdRefParent in (229837,228003,228265,225907)
and ref.dataareaId = 'dat')
and it.ItemId not in
(select distinct itemId
from vendContractItem (nolock)
where dataareaId = 'dat')