|
ЗАПРОС (параметры вирт.таблицы или соединение)? | ☑ | ||
---|---|---|---|---|
0
prtx
12.01.17
✎
11:38
|
Граждане, прекратите мои душевные муки пожалуйста!
Объясните как правильнее и как бустрее выполнять запрос вариант 1 (через параметры витруальной таблицы): |ВЫБРАТЬ | ТоварыНаСкладахОстатки.АналитикаУчетаНоменклатуры.Номенклатура КАК Номенклатура, | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК Количество |ПОМЕСТИТЬ ОстаткиПолучателя |ИЗ | РегистрНакопления.ТоварыНаСкладах.Остатки( | , | АналитикаУчетаНоменклатуры.Номенклатура В | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ТребованиеПолучателяПоНоменклатуре.Номенклатура КАК Номенклатура | ИЗ | ТребованиеПолучателяПоНоменклатуре КАК ТребованиеПолучателяПоНоменклатуре) | И Склад = &СкладПолучатель) КАК ТоварыНаСкладахОстатки | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОстатки.АналитикаУчетаНоменклатуры.Номенклатура | |ИНДЕКСИРОВАТЬ ПО | Номенклатура |; вариант 2 (через соединение): |ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК Количество |ПОМЕСТИТЬ ОстаткиПолучателя |ИЗ | (ВЫБРАТЬ РАЗЛИЧНЫЕ | ТребованиеПолучателяПоНоменклатуре.Номенклатура КАК Номенклатура | ИЗ | ТребованиеПолучателяПоНоменклатуре КАК ТребованиеПолучателяПоНоменклатуре) КАК ВложенныйЗапрос | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &СкладПолучатель) КАК ТоварыНаСкладахОстатки | ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.АналитикаУчетаНоменклатуры.Номенклатура | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.Номенклатура | |ИНДЕКСИРОВАТЬ ПО | Номенклатура |; |
|||
1
Ёпрст
12.01.17
✎
11:40
|
Открой консоль запросов, выполни и посмотри на время замера.
|
|||
2
shamannk
12.01.17
✎
11:40
|
Статья есть на эту тему.
|
|||
3
Ёпрст
12.01.17
✎
11:40
|
а вот это
АналитикаУчетаНоменклатуры.Номенклатура всегда медленно |
|||
4
prtx
12.01.17
✎
11:43
|
(2) если не жалко киньте ссылку или где искать, после поверхностного гугления чет не нашел.
|
|||
5
Ёпрст
12.01.17
✎
11:45
|
и это
ПО ВложенныйЗапрос.Номенклатура = ТоварыНаСкладахОстатки.АналитикаУчетаНоменклатуры.Номенклатура тоже не подарок |
|||
6
prtx
12.01.17
✎
11:45
|
(1) (3) а есть какая-то "теория запросов", как их правильно строить что логичнее использовать?
|
|||
7
Ёпрст
12.01.17
✎
11:45
|
тут всё медленно, что первый, что второй запрос
|
|||
8
prtx
12.01.17
✎
11:46
|
(5) ну а как правильно, переделать базу?
|
|||
9
agarych
12.01.17
✎
11:47
|
(0) нужна еще одна временная таблица для ТребованиеПолучателяПоНоменклатуре и дальше ее уже использовать.
|
|||
10
agarych
12.01.17
✎
11:49
|
Я бы сделал так:
1. Вр. таблица ТребованиеПолучателяПоНоменклатуре 2. Вр. таблица для остатков 3. Их соединение |
|||
11
prtx
12.01.17
✎
11:50
|
(9) ну за временные таблицы и вложенные запросы, это я знаю, т.е. во второй запросо сделать через временную таблицу. но больно не подуше мне это полный запрос большой, и там если сделать через временные, то их получится штук 10-12 минимум...
|
|||
12
agarych
12.01.17
✎
11:51
|
ну есть запросы и с 20 временными таблицами.
|
|||
13
prtx
12.01.17
✎
11:52
|
(10) а во временную таблицу остатков, что тупо все остатки на складе вытягивать? а потом объеденять? была у меня мысль такая, но я чет думал это не логично.
|
|||
14
Бубр
12.01.17
✎
14:36
|
(6) получая составной тип данных через точку система строит левое соединение ко всем таблицам, которые указаны как типы данных.
|
|||
15
mkalimulin
12.01.17
✎
14:58
|
(11) Используй новый конструктор запросов. Там и 100 временных таблиц не напрягут.
http://catalog.mista.ru/public/569569/ |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |