|
Как ускорить выполнение запроса в Управляемом приложении? | ☑ | ||
---|---|---|---|---|
0
Azmarika
27.08.14
✎
15:07
|
Опыт работы с запросами у меня ни очень большой, что вычитала в интернете пока не помогло. Может кто подскажет, что ни так
ВЫБРАТЬ СУММА(ВЫБОР КОГДА ОстаткиТоваровНаСкладахОстатки.Склад.КатегорияСклада = ЗНАЧЕНИЕ(Перечисление.КатегорииСкладов.Сеть) ТОГДА ОстаткиТоваровНаСкладахОстатки.КоличествоОстаток ИНАЧЕ 0 КОНЕЦ) КАК Сеть, ВЫБОР КОГДА ОстаткиТоваровНаСкладахОстатки.Склад.КатегорияСклада = ЗНАЧЕНИЕ(Перечисление.КатегорииСкладов.РЦ) ТОГДА ОстаткиТоваровНаСкладахОстатки.КоличествоОстаток ИНАЧЕ 0 КОНЕЦ КАК РЦ, ВЫБОР КОГДА ТранзитОстатки.КоличествоОстаток ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ТранзитОстатки.КоличествоОстаток КОНЕЦ КАК ТранзитОстатки, ВЫБОР КОГДА ПродажиОбороты.КоличествоОборот ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ПродажиОбороты.КоличествоОборот / (РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, ДЕНЬ) + 1) КОНЕЦ КАК СДП ИЗ РегистрНакопления.Транзит.Остатки( &ДатаКон, УНХ = &УНХ И СкладПолучатель В (&Склад)) КАК ТранзитОстатки ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваровНаСкладах.Остатки( &ДатаКон, Номенклатура = &Номенклатура И Склад В (&Склад)) КАК ОстаткиТоваровНаСкладахОстатки ПОЛНОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты( &ДатаНач, &ДатаКон, Период, Номенклатура = &Номенклатура И Склад В (&Склад)) КАК ПродажиОбороты ПО ОстаткиТоваровНаСкладахОстатки.Номенклатура = ПродажиОбороты.Номенклатура ПО ТранзитОстатки.УНХ = ОстаткиТоваровНаСкладахОстатки.Номенклатура.ИспользуемыйНаборОсновныхХарактеристик СГРУППИРОВАТЬ ПО ВЫБОР КОГДА ОстаткиТоваровНаСкладахОстатки.Склад.КатегорияСклада = ЗНАЧЕНИЕ(Перечисление.КатегорииСкладов.РЦ) ТОГДА ОстаткиТоваровНаСкладахОстатки.КоличествоОстаток ИНАЧЕ 0 КОНЕЦ, ВЫБОР КОГДА ТранзитОстатки.КоличествоОстаток ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ТранзитОстатки.КоличествоОстаток КОНЕЦ, ВЫБОР КОГДА ПродажиОбороты.КоличествоОборот ЕСТЬ NULL ТОГДА 0 ИНАЧЕ ПродажиОбороты.КоличествоОборот / (РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, ДЕНЬ) + 1) КОНЕЦ |
|||
1
Azmarika
27.08.14
✎
15:08
|
Я уже пробовала их по отдельным запросам разбить, и через номенклатуру объединить ничего не помогает
|
|||
2
Azmarika
27.08.14
✎
15:09
|
Если слишком большой регистр накопления, может есть какие-то хитрости
|
|||
3
Господин ПЖ
27.08.14
✎
15:09
|
полное соединение
|
|||
4
Широкий
27.08.14
✎
15:10
|
ПОЛНОЕ СОЕДИНЕНИЕ переделай подзапросы на "Объединить все"
|
|||
5
Господин ПЖ
27.08.14
✎
15:10
|
вообще "объединить все" обходится дешевле
|
|||
6
Azmarika
27.08.14
✎
15:10
|
Может быть нужные склады ни через В (&Склад) оформить?
|
|||
7
Зойч
27.08.14
✎
15:11
|
делай через объединение
|
|||
8
Wobland
27.08.14
✎
15:11
|
группировка по количеству? а почему бы и нет
|
|||
9
butterbean
27.08.14
✎
15:11
|
накуа тут соединения если все выбирается по одной номенклатуре??
|
|||
10
Azmarika
27.08.14
✎
15:12
|
Я пробовала и не соединять таблицы, тогда какая-то фигня выходит с расчетами
|
|||
11
Azmarika
27.08.14
✎
15:14
|
4 Т.е мне "полное соединение" везде поменять на объединить все?
|
|||
12
Широкий
27.08.14
✎
15:18
|
(11) Не поменять, а переделать
|
|||
13
Azmarika
27.08.14
✎
15:21
|
Т.е надо разнести все регистры по разным запросам, а в конце объединить?
|
|||
14
Azmarika
27.08.14
✎
15:59
|
Всем, спасибо. Получилось!
|
|||
15
МихаилМ
27.08.14
✎
19:13
|
факты не перемножают? а складывают.
заменяйте join на union |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |