Имя: Пароль:
1C
1С v8
Теория по скорости выполнения запроса
0 Snik_666
 
01.11.13
11:45
Добрый день! Хочу чтобы максимально быстрее выполнялся запрос, не могу путем тестов точно это выявить, по этому есть вопросы:

Например запрос

ДатаНачФормирования = ТекущаяДата();
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ЦеныНоменклатурыСрезПоследних.Период,
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура,
    |    ЦеныНоменклатурыСрезПоследних.Цена,
    |    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
    |ИЗ
    |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонПериода6, ) КАК ЦеныНоменклатурыСрезПоследних
    |ГДЕ
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура В(&МасНом)
    |    И ЦеныНоменклатурыСрезПоследних.ТипЦен = &Закупочная";
    
    Запрос.УстановитьПараметр("КонПериода6",КонецДня(КонПериода6));
    Запрос.УстановитьПараметр("МасНом",МасНом);
    Запрос.УстановитьПараметр("Закупочная",Константы.ИП_ЗакупочнаяКатегорияЦен.Получить());
    ТЗ_Цены = Запрос.Выполнить().Выгрузить();
    Сообщить("По регистру ЦеныНоменклатуры выполняется "+(ТекущаяДата()-ДатаНачФормирования)+" с.");



условия описаны через ГДЕ, но ведь можно это и записать как

Запрос.Текст = "ВЫБРАТЬ
                   |    ЦеныНоменклатурыСрезПоследних.Период,
                   |    ЦеныНоменклатурыСрезПоследних.Номенклатура,
                   |    ЦеныНоменклатурыСрезПоследних.Цена,
                   |    ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
                   |ИЗ
                   |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                   |            &КонПериода6,
                   |            Номенклатура В (&МасНом)
                   |                И ТипЦен = &Закупочная) КАК ЦеныНоменклатурыСрезПоследних";


вопрос 1й какая запись должна работать бытрее ?
вопрос 2й также это верно и для регистров накопления ?

вопрос 3й влияет ли на скорость выполнения запроса порядок записи условий ? например:

|ГДЕ
    |    ЦеныНоменклатурыСрезПоследних.Номенклатура В(&МасНом)
    |    И ЦеныНоменклатурыСрезПоследних.ТипЦен = &Закупочная
    
    
    |ГДЕ
    |    ЦеныНоменклатурыСрезПоследних.ТипЦен = &Закупочная    
    |    И ЦеныНоменклатурыСрезПоследних.Номенклатура В(&МасНом)
1 H A D G E H O G s
 
01.11.13
11:47
1) 2.
2) Да
3) Нет
2 sanja26
 
01.11.13
11:48
что за бред. ни разу книжек по 1с не открывал? пособие разработчика открой
3 viktor_vv
 
01.11.13
11:48
Про условия в параметрах виртуальной таблицы уже только кто ни писал.