Почему так медленно работает запрос в vipe?
Добавлено: 04 сен 2009, 15:11
Почему так медленно работает?
Сделала запрос по поиску МЦ в ДО
select basedoc.NODOC,basedoc.DDOC,katmc.barkod
from basedoc,spstep,stepdoc
where
((
stepdoc.cbasedoc==basedoc.nrec
and
spstep.CSTEPDOC==stepdoc.nrec
and
spstep.CMCUSL==katmc.nrec
))
and
katmc.barkod='4303249000145'
;
Отработало, решила сделать то же самое на VIP, чтобы вводить МЦ , а не менять ее в запросе. Работает в разы медленнее. Что я делаю не так?
nterface Bkod 'Поискать употребление МЦ в ДО' AlwaysReturn;
Var Bkod: string;
create view
as select BaseDoc.*
from basedoc,spstep,stepdoc
WHere
((
stepdoc.cbasedoc==basedoc.nrec
and
spstep.CSTEPDOC==stepdoc.nrec
and
spstep.CMCUSL==katmc.nrec
))
and
(katmc.barkod=Bkod)
;
Parameters
Bkod
browse BR1 ;
show at (,10,,);
fields
Basedoc.NoDOC 'Номер документа':[10], Protect;
Basedoc.DDOC 'Дата документа':[10], Protect;
Katmc.Barkod 'Баркод':[15], Protect;
end;
handleEvent
cminit: {
message (bkod,cmok);
}
end; //HandleEvent
!end;
end.
Сделала запрос по поиску МЦ в ДО
select basedoc.NODOC,basedoc.DDOC,katmc.barkod
from basedoc,spstep,stepdoc
where
((
stepdoc.cbasedoc==basedoc.nrec
and
spstep.CSTEPDOC==stepdoc.nrec
and
spstep.CMCUSL==katmc.nrec
))
and
katmc.barkod='4303249000145'
;
Отработало, решила сделать то же самое на VIP, чтобы вводить МЦ , а не менять ее в запросе. Работает в разы медленнее. Что я делаю не так?
nterface Bkod 'Поискать употребление МЦ в ДО' AlwaysReturn;
Var Bkod: string;
create view
as select BaseDoc.*
from basedoc,spstep,stepdoc
WHere
((
stepdoc.cbasedoc==basedoc.nrec
and
spstep.CSTEPDOC==stepdoc.nrec
and
spstep.CMCUSL==katmc.nrec
))
and
(katmc.barkod=Bkod)
;
Parameters
Bkod
browse BR1 ;
show at (,10,,);
fields
Basedoc.NoDOC 'Номер документа':[10], Protect;
Basedoc.DDOC 'Дата документа':[10], Protect;
Katmc.Barkod 'Баркод':[15], Protect;
end;
handleEvent
cminit: {
message (bkod,cmok);
}
end; //HandleEvent
!end;
end.