Имя: Пароль:
1C
1С v8
Разработка и оптимизация запросов 1С
,
0 sinisterfrag
 
23.09.12
11:36
1. Я за первый запрос 67% (2)
2. Я за второй запрос 33% (1)
Всего мнений: 3

На инфортарте смотрел курс "Разработка и оптимизация запросов 1С", думал может найду что то новое для себя. В ходе просмотра (собственно ссылка http://infostart.ru/public/140321/) уроков части 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 с.

Я за первый запрос
39 Fragster
 
гуру
23.09.12
15:16
1 раз обращение к данным

Я за первый запрос