Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.15;
Скачать: CL | DM;

Вниз

Разница в скорости работы хранимой процедуры   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.055 c
1-1157350859
Alkid
2006-09-04 10:20
2006.10.15
IntfClear


15-1158819603
Layner
2006-09-21 10:20
2006.10.15
Браузер COM объектов установленых в системе


2-1158921818
Bug12
2006-09-22 14:43
2006.10.15
Проблема со string и integer - помогите новичку


15-1159082637
AntiUser
2006-09-24 11:23
2006.10.15
Форум по Oracle?


2-1159463350
Ezorcist
2006-09-28 21:09
2006.10.15
Прикрепить Frame к Pointer