![]() |
|
Как улучшить запрос и его время выполнения | ☑ | ||
---|---|---|---|---|
0
zippygrill
31.01.17
✎
15:15
|
Запрос не мой и выполняется он в УПП 1.3.
ВЫБРАТЬ ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Номенклатура КАК Номенклатура, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияНоменклатуры КАК СерияНоменклатуры, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияНоменклатуры.СрокГодности КАК СрокГодности, СУММА(ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Количество) КАК Количество, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.ЕдиницаИзмерения КАК ЕдиницаИзмерения, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.ЕдиницаИзмерения.Объем / 10 КАК Литраж, СУММА(ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Количество * ОтчетПроизводстваЗаСменуРаспределениеМатериалов.ЕдиницаИзмерения.Объем / 10) КАК Объем, ВЫБОР КОГДА ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Номенклатура.ВидНоменклатуры = &ВидНоменклатурыМатериал ТОГДА 0 ИНАЧЕ 1 КОНЕЦ КАК НеобходимоЕщеРазвернуть, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Ссылка.Ссылка КАК ОПзС ИЗ Документ.ОтчетПроизводстваЗаСмену.РаспределениеМатериалов КАК ОтчетПроизводстваЗаСменуРаспределениеМатериалов ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов ПО ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Номенклатура = КатегорииОбъектов.Объект И (КатегорииОбъектов.Объект ССЫЛКА Справочник.Номенклатура) ГДЕ ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Ссылка.Проведен И ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Ссылка.Дата МЕЖДУ НАЧАЛОПЕРИОДА(&Дата_010115, ДЕНЬ) И КОНЕЦПЕРИОДА(&ДатаТекущая, ДЕНЬ) И ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияПродукции = &Серия И КатегорииОбъектов.Категория = &КатегорияВиноматериал СГРУППИРОВАТЬ ПО ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияНоменклатуры, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Номенклатура, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.ЕдиницаИзмерения, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.ЕдиницаИзмерения.Объем / 10, ВЫБОР КОГДА ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Номенклатура.ВидНоменклатуры = &ВидНоменклатурыМатериал ТОГДА 0 ИНАЧЕ 1 КОНЕЦ, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияНоменклатуры.СрокГодности, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Ссылка.Ссылка УПОРЯДОЧИТЬ ПО ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Номенклатура.Наименование, ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияНоменклатуры.СрокГодности Посмотрел возможность выполнения запроса по УчетуЗатрат, но проблема с наложением отбора по нужной партии. Так что наверное остается только улучшить запрос по ТЧ отчета. |
|||
1
zippygrill
31.01.17
✎
15:19
|
Вариант №1
Во временную таблицу сделать запрос только по отчетам с этой серией, индексировать по Номенклатуре и потом в другой запросе сделать соединение по Номенклатуре и Категории |
|||
2
shamannk
31.01.17
✎
15:22
|
ОтчетПроизводстваЗаСменуРаспределениеМатериалов.Ссылка.Ссылка КАК ОПзС зачет)
|
|||
3
zippygrill
31.01.17
✎
15:26
|
(2) Учтено))
|
|||
4
mistеr
31.01.17
✎
15:27
|
Индекс по периоду не селективен.
В ТЧ Номенклатура наверняка проиндексирована, но ты этот индекс не используешь. Добавь отбор по номенклатуре. |
|||
5
zippygrill
31.01.17
✎
15:28
|
(4)
И ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияПродукции = &Серия И ОтчетПроизводстваЗаСменуРаспределениеМатериалов.СерияПродукции.Владелец = &Номенклатура |
|||
6
mistеr
31.01.17
✎
15:30
|
(5) Не вижу, где это в исходном запросе.
И да, это не отбор по номенклатуре. |
|||
7
zippygrill
31.01.17
✎
15:32
|
(6) В исходом нет. В измененном виде имел ввиду в (5)
Тогда что ты подразумеваешь под отбор по номенклатуре? |
|||
8
shamannk
31.01.17
✎
15:44
|
И (КатегорииОбъектов.Объект ССЫЛКА Справочник.Номенклатура) Не лишнее?
|
|||
9
zippygrill
31.01.17
✎
15:45
|
(8) Точно - нет
|
|||
10
mistеr
31.01.17
✎
15:47
|
(7) Я имел в виду продукцию. Неважно, там похоже ничего не индексировано.
Собирай все свои виноматериалы в ВТ (их ведь не так много?) и соединяй. P.S. Из регистров не проще эту информацию вытащить? |
|||
11
H A D G E H O G s
31.01.17
✎
15:48
|
Серия продукции каждый раз новая? Тогда - индексируй эту серий в ТЧ документа и все.
|
|||
12
shamannk
31.01.17
✎
15:52
|
И КатегорииОбъектов.Категория = &КатегорияВиноматериал в условие связи может?
|
|||
13
zippygrill
31.01.17
✎
15:57
|
(10) Попробую и посмотрю на результат замеров.
(11) Да- новая каждый раз. В смысле индексировать в серию в ТЧ. ТЧ умеет такое? Не знал)) |
|||
14
zippygrill
31.01.17
✎
15:57
|
(12) Иногда это придает прирост
|
|||
15
zippygrill
31.01.17
✎
15:58
|
+ (14) если сначала соберу весь виноматериал во временную таб то это И КатегорииОбъектов.Категория = &КатегорияВиноматериал уже не нужно
|
|||
16
zippygrill
31.01.17
✎
16:04
|
(11) ааа понял тебя. Типовая УПП - не хочется ломать
|
|||
17
mistеr
31.01.17
✎
18:31
|
(16) Сломать что-то одним индексом — это нужно постараться.
И вообще, "типовая УПП" это что-то вроде снежного человека. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |