|
этот запрос можно оптимизировать? | ☑ | ||
---|---|---|---|---|
0
z01
17.07.13
✎
16:03
|
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТаблицаРасшифровкаПлатежа.Заказ КАК Заказ, | ВЫБОР КОГДА ТаблицаРасшифровкаПлатежа.Заказ.Организация.ГоловнаяОрганизация = &Организация ТОГДА | ТаблицаРасшифровкаПлатежа.Заказ.Организация | ИНАЧЕ | &Организация | КОНЕЦ КАК Организация | |ПОМЕСТИТЬ ТаблицаОбъектовРасчетов |ИЗ | Документ.СписаниеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа | |ГДЕ | ТаблицаРасшифровкаПлатежа.Ссылка = &Ссылка | И &ХозяйственнаяОперация В ( | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеТаможне) | ) | |ИНДЕКСИРОВАТЬ ПО | Заказ |; |///////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | ТаблицаОбъектовРасчетов.Организация КАК Организация, | &Контрагент КАК Контрагент, | ТаблицаРасшифровкаПлатежа.Партнер КАК Партнер |ИЗ | Документ.СписаниеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа | | ВНУТРЕННЕЕ СОЕДИНЕНИЕ | ТаблицаОбъектовРасчетов КАК ТаблицаОбъектовРасчетов | ПО | ТаблицаРасшифровкаПлатежа.Заказ = ТаблицаОбъектовРасчетов.Заказ | | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика | ПО | ТаблицаОбъектовРасчетов.Организация = Аналитика.Организация | И &Контрагент = Аналитика.Контрагент | И ТаблицаРасшифровкаПлатежа.Партнер = Аналитика.Партнер |ГДЕ | ТаблицаРасшифровкаПлатежа.Ссылка = &Ссылка | И &ХозяйственнаяОперация В ( | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеТаможне) | ) | И Аналитика.КлючАналитики ЕСТЬ NULL | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | &Организация КАК Организация, | &Контрагент КАК Контрагент, | ТаблицаРасшифровкаПлатежа.Партнер КАК Партнер |ИЗ | Документ.СписаниеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа | | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика | ПО | &Организация = Аналитика.Организация | И &Контрагент = Аналитика.Контрагент | И ТаблицаРасшифровкаПлатежа.Партнер = Аналитика.Партнер |ГДЕ | ТаблицаРасшифровкаПлатежа.Ссылка = &Ссылка | И &ЗаявкаНаРасходованиеДенежныхСредств <> ЗНАЧЕНИЕ(Документ.ЗаявкаНаРасходованиеДенежныхСредств.ПустаяСсылка) | И &ХозяйственнаяОперация В ( | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеТаможне) | ) | И Аналитика.КлючАналитики ЕСТЬ NULL |
|||
1
Жан Пердежон
17.07.13
✎
16:05
|
можно
следующий |
|||
2
z01
17.07.13
✎
16:07
|
а как?
|
|||
3
RomaH
naïve
17.07.13
✎
16:09
|
|ИЗ
| Документ.СписаниеБезналичныхДенежныхСредств.РасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа | | ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика | ПО | &Организация = Аналитика.Организация | И &Контрагент = Аналитика.Контрагент | И ТаблицаРасшифровкаПлатежа.Партнер = Аналитика.Партнер например можно во временную для начала |
|||
4
RomaH
naïve
17.07.13
✎
16:10
|
+
|ГДЕ | ТаблицаРасшифровкаПлатежа.Ссылка = &Ссылка | И &ЗаявкаНаРасходованиеДенежныхСредств <> ЗНАЧЕНИЕ(Документ.ЗаявкаНаРасходованиеДенежныхСредств.ПустаяСсылка) | И &ХозяйственнаяОперация В ( | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеТаможне) | ) | И Аналитика.КлючАналитики ЕСТЬ NULL |
|||
5
НЕА123
17.07.13
✎
16:11
|
| И &ХозяйственнаяОперация В (
| ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеТаможне) | ) для чего? |
|||
6
hhhh
17.07.13
✎
16:13
|
(2) вот это должно дико тормозить
| ЛЕВОЕ СОЕДИНЕНИЕ | РегистрСведений.АналитикаУчетаПоПартнерам КАК Аналитика потому что ты весь регистр присоединяешь. |
|||
7
viktor_vv
17.07.13
✎
16:29
|
(6) С чего бы ему торомозить-то ?
|
|||
8
z01
18.07.13
✎
09:22
|
я вот думаю если временную таблицу в запрос обратно запихнуть лучше не станет?
|
|||
9
viktor_vv
18.07.13
✎
09:32
|
(8) А что значит тормозит? Там же вроде по одному документу выполяется, не должно тормозить особо. Может оно конечно в цикле выполняется :).
Выполни их отдельными запросами,чтобы понять на каком тормоза. |
|||
10
hhhh
18.07.13
✎
09:45
|
(7) допустим в регистре сто миллионов записей. И они все попадают в проверку левого соединения.
|
|||
11
hhhh
18.07.13
✎
09:47
|
(10)+ я понял почему, поле Аналитика.Партнер в регистре не проиндексировано.
|
|||
12
z01
18.07.13
✎
09:52
|
(9)обработка загрузки тащит это счастье по com. мне показалось что как-то не очень шустро и замер показал что именно исполнение это запроса сожрало около 35% времени. остальное мелочи.
|
|||
13
z01
18.07.13
✎
09:54
|
(11)всё что там можно проиндексировать из 1С уже проиндексировано, сам скуль вроде не сообщает о необходимости дополнительных индексов
|
|||
14
kosts
18.07.13
✎
09:57
|
Операция "В" может быть не оптимальной, попробуй для эксперимента сделать отдельные запросы, а потом объединить.
|
|||
15
kosts
18.07.13
✎
10:00
|
Кстати
что за конструкция, это же можно вычислить вне запроса |
|||
16
viktor_vv
18.07.13
✎
11:05
|
(10) А какая разница сколько там записей? При создании временной таблицы так же само условие будет проверяться по всем записям.
Таки там наличие подходящих индексов играет роль. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |