|
Странное поведение при получении остатков по накладной | ☑ | ||
|---|---|---|---|---|
|
0
gosn1ck
26.06.13
✎
11:33
|
Добрый день. имеется регистр накопление "товары на складах". измерения Склад, Номенклатура и платформа 8.1. так вот выяснилось, что клиент-серверной базе (субд sql) конструкция
ВЫБРАТЬ ЧекККМТовары.Номенклатура КАК Номенклатура, СУММА(ЧекККМТовары.Количество) КАК Количество, ЧекККМТовары.Склад КАК Склад ПОМЕСТИТЬ Данные ИЗ Документ.ЧекККМТовары.Товары КАК ЧекККМТовары ГДЕ ЧекККМТовары.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО ЧекККМТовары.Склад, ЧекККМТовары.Номенклатура ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыНаСкладахОстатки.КоличествоОстаток, Данные.Номенклатура КАК Номенклатура, Данные.Количество, Данные.Склад КАК Склад ИЗ Данные КАК Данные ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки( &период, Склад = &Склад И Номенклатура В (ВЫБРАТЬ А.Номенклатура ИЗ Данные КАК А)) КАК ТоварыНаСкладахОстатки ПО Данные.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура И Данные.Склад = ТоварыНаСкладахОстатки.Склад работает медленное с условием ниже, чем без него... Номенклатура В (ВЫБРАТЬ А.Номенклатура ИЗ Данные КАК А) Есть у кого какие предположения почему? |
|||
|
1
1Cv8_accepted
26.06.13
✎
11:36
|
(0) Потому, что запрос усложняется! Посмотри в трейсере один и второй. Почувствуй, так сказать, разницу.
|
|||
|
2
hhhh
26.06.13
✎
11:58
|
(0) потому что вы на редкость невнимательны. Вот так пробуйте
ВЫБРАТЬ ЧекККМТовары.Номенклатура КАК Номенклатура, СУММА(ЧекККМТовары.Количество) КАК Количество, ЧекККМТовары.Склад КАК Склад ПОМЕСТИТЬ Данные ИЗ ИНДЕКСИРОВАТЬ ПО Номенклатура |
|||
|
3
GROOVY
26.06.13
✎
12:02
|
Да и условие я делал бы на сочетание полей:
(Склад, Номенклатура) В (ВЫБРАТЬ &Склад, Номенклатура ИЗ Данные) |
|||
|
4
gosn1ck
26.06.13
✎
12:32
|
(2) (3) в документе 50 позиций, написал с сочетанием полей (Склад, Номенклатура) В (ВЫБРАТЬ Склад, Номенклатура ИЗ Данные) и с ИНДЕКСИРОВАТЬ ПО Склад, Номенклатура - результат - 1сек, убираю сочетание и оставляю Склад = &Склад - результат - 0,4сек, дальше убираю индексы - результат - 0,2сек :)
|
| Форум | Правила | Описание | Секции | Поиск |