Имя: Пароль:
1C
1С v8
Подскажите почему запрос жутко тормозит, когда добавляешь условия
0 Ivan_495
 
28.06.17
10:32
Вот так работает быстро

ВЫБРАТЬ РАЗЛИЧНЫЕ
    Участники.Участник КАК Участник,
    ЗаказТураУчастники.Ссылка КАК Ссылка
ИЗ
    Участники КАК Участники
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказТура.Участники КАК ЗаказТураУчастники
        ПО (ЗаказТураУчастники.Ссылка В
                (ВЫБРАТЬ ПЕРВЫЕ 3
                    ЗаказТураУчастникиУ.Ссылка
                ИЗ
                    Документ.ЗаказТура.Участники КАК ЗаказТураУчастникиУ
                ГДЕ
                    ЗаказТураУчастникиУ.Участник = Участники.Участник
                УПОРЯДОЧИТЬ ПО
                    ЗаказТураУчастникиУ.Ссылка.Дата УБЫВ))
1 Ivan_495
 
28.06.17
10:32
а так тормоза
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Участники.Участник КАК Участник,
    ЗаказТураУчастники.Ссылка КАК Ссылка
ИЗ
    Участники КАК Участники
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказТура.Участники КАК ЗаказТураУчастники
        ПО (ЗаказТураУчастники.Ссылка В
                (ВЫБРАТЬ ПЕРВЫЕ 3
                    ЗаказТураУчастникиУ.Ссылка
                ИЗ
                    Документ.ЗаказТура.Участники КАК ЗаказТураУчастникиУ
                ГДЕ
                    ЗаказТураУчастникиУ.Участник = Участники.Участник
                УПОРЯДОЧИТЬ ПО
                    ЗаказТураУчастникиУ.Ссылка.Дата УБЫВ))
ГДЕ
    ЗаказТураУчастники.Ссылка.Проведен = ИСТИНА
    И ЗаказТураУчастники.Ссылка.Аннулирован = ЛОЖЬ
    И ЗаказТураУчастники.Ссылка.ПометкаУдаления = ЛОЖЬ
2 Вафель
 
28.06.17
10:38
в индексы перестаешь попадать
3 Fedor-1971
 
28.06.17
10:40
(1) а так?

             ГДЕ
                    ЗаказТураУчастникиУ.Участник =Участники.Участник
    И ЗаказТураУчастникиУ.Проведен
    И НЕ ЗаказТураУчастникиУ.Аннулирован
    И НЕ ЗаказТураУчастникиУ.ПометкаУдаления
                УПОРЯДОЧИТЬ ПО
                    ЗаказТураУчастникиУ.Ссылка.Дата УБЫВ))

для проверки тебе ещё раз добавляется Левое соединение
Проверяй сразу во вложенном запросе
4 Fedor-1971
 
28.06.17
10:42
3+ ЗаказТураУчастникиУ. -> ЗаказТураУчастникиУ.Ссылка
5 Ivan_495
 
28.06.17
10:56
(3) так тоже тормозит
6 Ivan_495
 
28.06.17
10:56
(2) а какие индексы добавить?
7 Ivan_495
 
28.06.17
11:04
убрал все индексы
отборы сделал на уровне скд
все летает
8 Feunoir
 
28.06.17
11:11
А зачем одновременно Проведен и НЕ ПометкаУдаления. Оно взаимоисключающее как бы. Поэтому пометку удаления вообще убрать, а добавить индекс по Аннулирован. Хотя индексирование логических реквизитов это фу - селективность никакая. Я бы подумал насчет возможности ограничения по дате.
9 PCcomCat
 
28.06.17
11:15
ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказТура.
Зачем к таблице-то соединяться, если ссылка нужна?
10 PCcomCat
 
28.06.17
11:16
А то для каждой строки документа проверяешь на вхождение трех первых документов.
Ошибка? Это не ошибка, это системная функция.