Есть следующий код:
declare @XmlData xml =
'<Locations>
<Location rid="1"/>
</Locations>'
declare @LocationList table (RID char(32));
insert into @LocationList(RID)
select Location.RID.value('@rid','CHAR(32)')
from @XmlData.nodes('/Locations/Location') Location(RID)
insert into @LocationList(RID)
select A2RID from tblCdbA2
Таблица tblCdbA2 имеет 172810 строк.
Я выполнил пакет в SSMS с «Включить фактический план выполнения» и с запущенным Profiler.
План показывает, что стоимость первого запроса составляет 88% относительно пакета, а второго — 12%, но профилировщик говорит, что длительность первого и второго запроса составляет 17 мс и 210 мс соответственно, общее время — 229, что не соответствует действительности. 12 и 88.. Что происходит? Есть ли способ определить в плане выполнения, какая часть запроса является самой медленной?