Главная страница
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.031 c
1-1155469218
nali
2006-08-13 15:40
2006.10.15
Вопрос по отладчику delphi6


3-1155633565
Alpine
2006-08-15 13:19
2006.10.15
Возможно ли помещать апостроф в запись ?


2-1158667148
[PSIH]
2006-09-19 15:59
2006.10.15
Insufficient memory for this operation


5-1141114827
Creative
2006-02-28 11:20
2006.10.15
ссылка на объект в строке StringGrid`а


15-1158816466
Ega23
2006-09-21 09:27
2006.10.15
С Днём рождения! 21 сентября