0
sinisterfrag
23.09.12
✎
11:36
|
Всего мнений: 3
На инфортарте смотрел курс "Разработка и оптимизация запросов 1С", думал может найду что то новое для себя. В ходе просмотра (собственно ссылка уроков части 3, наткнулся вот на такой запрос т.к. в видео курсе ключевое слово "ОПТИМИЗАЦИЯ"
решил выставить на голосовалку вот такой запрос.
Автор в Части 3(20-25 минуте) разберает приблезительно вот такой запрос
1)
"ВЫБРАТЬ
| ПродажиОбороты.Товар,
| ВЫБОР
| КОГДА ПродажиОбороты.Товар.ВидНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Товар)
| ТОГДА ЕСТЬNULL(ПродажиОбороты.СуммаОборот, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаТовара,
| ВЫБОР
| КОГДА ПродажиОбороты.Товар.ВидНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)
| ТОГДА ЕСТЬNULL(ПродажиОбороты.СуммаОборот, 0)
| ИНАЧЕ 0
| КОНЕЦ КАК СуммаУслуг
|ИЗ
| РегистрНакопления.Продажи.Обороты КАК ПродажиОбороты"
2) И собсвенно мой вариант запроса
"ВЫБРАТЬ
| ПродажиОбороты.Товар,
| ПродажиОбороты.СуммаОборот КАК СуммаТовара,
| 0 КАК СуммаУслуг
|ИЗ
| РегистрНакопления.Продажи.Обороты(, , , Товар.ВидНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Товар)) КАК ПродажиОбороты
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПродажиОбороты.Товар,
| 0,
| ПродажиОбороты.СуммаОборот
|ИЗ
| РегистрНакопления.Продажи.Обороты(, , , Товар.ВидНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)) КАК ПродажиОбороты"
|
|
15
Dimasik2007
23.09.12
✎
12:14
|
Проверка показала на типовом РН Продажи с отбором не по перечислению (ВидНоменклатуры), а по справочнику (т.е. используются параметры запроса), на 3х летних данных:
1 запрос - 435мс
2 запрос - 455мс
"Холодный" первый запрос 1,5с, второй - 1,8 с.
Я за первый запрос |
|