Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема вариации с фильтрами: запрос к регистру остатков (число прочтений - 732 )
ol
Senior Member
****
Отсутствует


1C++ rocks!

Сообщений: 272
Местоположение: Санкт-Петербург
Зарегистрирован: 24. Января 2009
Пол: Мужской
вариации с фильтрами: запрос к регистру остатков
09. Мая 2009 :: 08:51
Печать  
OleDb
три варианта фильтра по фирме
(Номенклатура, Фирма - это заранее созданные курсоры)

(1)
Код
Выбрать все
select
$РегОстатки.Номенклатура Номенклатура
from $РегистрИтоги.ОстаткиТМЦ РегОстатки		  
inner join Номенклатура on "+СтрПредМесяцНач+"+Номенклатура.val=
dtos(РегОстатки.period)+$РегОстатки.Номенклатура
inner join Фирма on Фирма.val=$РегОстатки.Фирма
where
dtos(РегОстатки.period)+$РегОстатки.Номенклатура like "+СтрПредМесяцНач+"+'_________'
 



(2)
Код
Выбрать все
select
$РегОстатки.Номенклатура Номенклатура
from $РегистрИтоги.ОстаткиТМЦ РегОстатки		  
inner join Номенклатура on "+СтрПредМесяцНач+"+Номенклатура.val=
dtos(РегОстатки.period)+$РегОстатки.Номенклатура
where
dtos(РегОстатки.period)+$РегОстатки.Номенклатура like "+СтрПредМесяцНач+"+'_________'
and $РегОстатки.Фирма in (select val from Фирма)
 



(3)
Код
Выбрать все
select
$РегОстатки.Номенклатура Номенклатура
from $РегистрИтоги.ОстаткиТМЦ РегОстатки		  
inner join Номенклатура on "+СтрПредМесяцНач+"+Номенклатура.val=
dtos(РегОстатки.period)+$РегОстатки.Номенклатура
left join $Справочник.Фирмы СправочникФирмы on СправочникФирмы.id=$РегОстатки.Фирма
where
dtos(РегОстатки.period)+$РегОстатки.Номенклатура like "+СтрПредМесяцНач+"+'_________'
and СправочникФирмы.id in (select val from Фирма)
 



какой выполняется быстрее ?
неожиданно оказался под номером (3). Самый медленный - (1)
если же убрать индексное соединение

Код
Выбрать все
inner join Номенклатура on "+СтрПредМесяцНач+"+Номенклатура.val=
dtos(РегОстатки.period)+$РегОстатки.Номенклатура
 



самым быстрым станет (2), а (1) и (3) станут примерно одинаковыми по скорости.

Даже не знаю что спросить, так пытаюсь сваять конструктор запросов к регистру остатков (ВТ нема), сталкиваюсь с такими подводными камнями
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать