|
v8 Оптимизация запроса | ☑ | ||
---|---|---|---|---|
0
Homer
07.04.14
✎
13:41
|
///////
ВЫБРАТЬ Хозрасчетный.Ссылка ПОМЕСТИТЬ мСписокСчетов ИЗ ПланСчетов.Хозрасчетный КАК Хозрасчетный ГДЕ Хозрасчетный.Ссылка В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.РасчетыСПрочимиПоставщикамиИПодрядчиками)) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ХозрасчетныйОстатки.Счет, ХозрасчетныйОстатки.Субконто1, ХозрасчетныйОстатки.Субконто2, ХозрасчетныйОстатки.СуммаОстаток, ХозрасчетныйОстатки.Организация ПОМЕСТИТЬ мСписание ИЗ РегистрБухгалтерии.Хозрасчетный.Остатки(ДОБАВИТЬКДАТЕ(КОНЕЦПЕРИОДА(&Дата, МЕСЯЦ), СЕКУНДА, 1), , &ВидСубконта, Организация = &Организация) КАК ХозрасчетныйОстатки ВНУТРЕННЕЕ СОЕДИНЕНИЕ мСписокСчетов КАК мСписокСчетов ПО ХозрасчетныйОстатки.Счет = мСписокСчетов.Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ РАЗРЕШЕННЫЕ ХозрасчетныйОстаткиИОбороты.Регистратор, ХозрасчетныйОстаткиИОбороты.ПериодСекунда КАК Период, ХозрасчетныйОстаткиИОбороты.Счет, ХозрасчетныйОстаткиИОбороты.Субконто1, ХозрасчетныйОстаткиИОбороты.Субконто2, ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстаток КАК КоличествоНачальныйОстаток, ХозрасчетныйОстаткиИОбороты.СуммаОборотДт КАК КоличествоПриход, ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК КоличествоРасход, ХозрасчетныйОстаткиИОбороты.СуммаКонечныйОстаток КАК КоличествоКонечныйОстаток, ХозрасчетныйОстаткиИОбороты.СуммаОборотКт КАК КоличествоЭталон, ХозрасчетныйОстаткиИОбороты.Организация, ВЫБОР КОГДА ХозрасчетныйОстаткиИОбороты.СуммаОборотДт > 0 ТОГДА ХозрасчетныйОстаткиИОбороты.Регистратор ИНАЧЕ НЕОПРЕДЕЛЕНО КОНЕЦ КАК ДокументОприходования ПОМЕСТИТЬ мТабОбщая ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты( , КОНЕЦПЕРИОДА(&Дата, МЕСЯЦ), Авто, Движения, Счет В (ВЫБРАТЬ РАЗЛИЧНЫЕ Таб.Ссылка ИЗ мСписокСчетов КАК Таб), &ВидСубконта, ) КАК ХозрасчетныйОстаткиИОбороты ВНУТРЕННЕЕ СОЕДИНЕНИЕ мСписание КАК мОстатки ПО ХозрасчетныйОстаткиИОбороты.Счет = мОстатки.Счет И ХозрасчетныйОстаткиИОбороты.Организация = мОстатки.Организация И ХозрасчетныйОстаткиИОбороты.Субконто1 = мОстатки.Субконто1 И ХозрасчетныйОстаткиИОбороты.Субконто2 = мОстатки.Субконто2 ; /////// где ВидСубконта = Новый Массив; ВидСубконта.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты); ВидСубконта.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Договоры); можно ли увеличить скорость запроса |
|||
1
Maxus43
07.04.14
✎
13:42
|
идексируй ВТ по полям соединений и условий
|
|||
2
Wobland
07.04.14
✎
13:43
|
день третий. я волнуюсь за знаки вопроса. отменили
|
|||
3
Maxus43
07.04.14
✎
13:44
|
Счет В
(ВЫБРАТЬ РАЗЛИЧНЫЕ Таб.Ссылка ИЗ мСписокСчетов КАК Таб), лишнее, у тебя уже отобрано по счетам в втСписание, хотя замерить надо конечно... |
|||
4
Homer
07.04.14
✎
13:47
|
по замерам так быстрее
|
|||
5
Maxus43
07.04.14
✎
13:48
|
ИНдексирование должно прибавить скоростюшки
|
|||
6
Homer
07.04.14
✎
13:50
|
(5) Прибавило, но мало ((
|
|||
7
Aloex
07.04.14
✎
13:54
|
Начало периода укажи.
|
|||
8
Aloex
07.04.14
✎
13:54
|
КОНЕЦПЕРИОДА(&Дата, МЕСЯЦ) исправь на входящий параметр.
|
|||
9
Maxus43
07.04.14
✎
13:55
|
остатки и обороты - тормозная сама по себе.
Попробуй левое сединение ещё вместо внутренне, в последнем запросе. к мОстатки левым соединением таблицу цепляй |
|||
10
Aloex
07.04.14
✎
13:57
|
Попробуй разнести по временным таблицам ОстаткиИОбороты. Сделай не к ОстаткиИОбороты а через временную таблицу.
|
|||
11
Aloex
07.04.14
✎
13:58
|
Максимально задействуй параметры виртуальной таблицы.
|
|||
12
SherifSP
07.04.14
✎
14:05
|
А как индексировать поле в запросе?
|
|||
13
Homer
07.04.14
✎
14:08
|
Наложил более выборочное условие на "мСписокСчетов" и все гуд стало.
ВСЕМ СПАСИБО |
|||
14
Maxus43
07.04.14
✎
14:13
|
(12) поля временных таблиц можно индексировать
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |