Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизРазница в скорости работы хранимой процедуры Найти похожие ветки
← →
Term © (2006-08-14 11:48) [0]Вопросец такой, хранимая из Query Analazer"а отрабатывает мгновенно, а из приложения 5 минут... в чём может быть причина...
← →
stone © (2006-08-14 11:49) [1]в 17-ой строке наверное
как время выполнения в приложении замерял?
← →
Сергей М. © (2006-08-14 11:51) [2]Например, в том что твое приложение пытается фетчить все записи, в то время как QA фетчит только необходимые для просмотра в дан.момент записи.
← →
Term © (2006-08-14 11:51) [3]есть трасса в которую выводица исполняющийся в данный момент запрос, так вот именно на ней и висит по 5 минут...
← →
Term © (2006-08-14 11:52) [4]
> Например, в том что твое приложение пытается фетчить все
> записи, в то время как QA фетчит только необходимые для
> просмотра в дан.момент записи.
ХП возвращает только одну строку
← →
Sergey13 © (2006-08-14 11:52) [5]Например, в приложении идет полный фетч записей на клиента. Если это так, то раз он идет 5 минут - это проблема в .... в голове в общем.
← →
Sergey13 © (2006-08-14 11:54) [6]> [4] Term © (14.08.06 11:52)
Значит в [5] я был не прав в своем предположении.
← →
Term © (2006-08-14 11:58) [7]Profiler показал следующее
из приложения
reads - 254
duration - 266
из Analayzer"a
reads - 252
duration - 186
вот такие данные
← →
tupoy (2006-08-14 12:01) [8]покажи запрос
← →
Term © (2006-08-14 12:06) [9]
CREATE procedure dbo.GetDoc
--поиск документа с заданными свойствами откуда, куда в заданном мх
@from int,
@to int,
@sp int,
@outres bit = 1
as
set nocount on
set transaction isolation level read uncommitted
declare
@doc int,
@time datetime,
@doc_time datetime,
@move_time datetime
set @time=getdate()
select @doc=A.storageplace, @doc_time=A.btime
from storageplaces A with(index(StPlacesParentIx),nolock)
left join spproperties B with(index(IX_spproperties_sp_type),nolock) on B.storageplace=A.storageplace and B.type=4 and B.value=@from
left join spproperties C with(index(IX_spproperties_sp_type),nolock) on C.storageplace=A.storageplace and C.type=5 and C.value=@to
where
A.parentplace=@sp
and A.dtime>getdate()
if IsNull(@doc,0)>0
select @move_time=max(btime) from splaceshandling with(index(IX_splaceshandling_doc),nolock) where doc=@doc
Finish:
if @outres = 1
select IsNull(@doc,0) as doc, IsNull(@doc_time,0) as doc_time, IsNull(@move_time,0) as move_time
else
return(@doc)
← →
Term © (2006-08-14 13:26) [10]победил, дело было в том что
запрос в ХП
select @move_time=max(btime) from splaceshandling with(index(IX_splaceshandling_doc),nolock) where doc=@doc
почему то необращал внимание на индекс
после того как данные выбрал во временную таблицу, и сделал max по ней всё заработало
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.04 c