Оптимизация запроса

1. aalu14 19.08.22 17:02 Сейчас в теме
Добрый день. Подскажите, как можно оптимизировать запрос? Очень долго выполняется. Заранее спасибо
ВЫБРАТЬ
    Активность.Значение КАК Дата,
    Активность.Объект.Контрагент КАК Контрагент
ИЗ
    РегистрСведений.Активность КАК Активность
ГДЕ
    Активность.Реквизит = "Срок"
    И ВЫРАЗИТЬ(Активность.Значение КАК СТРОКА(100)) ПОДОБНО &ДатаЗавтра + "%"
    И Активность.Объект.Обещание.Код = "000000077"

Показать
По теме из базы знаний
Найденные решения
3. starik-2005 3149 19.08.22 17:14 Сейчас в теме
(1)
Активность.Объект.Контрагент
По всей видимости объектом может быть что угодно. Судя по
Активность.Объект.Обещание.Код = "000000077"
объект тут какой-то конкретный. В обоих местах надо сделать:
ВЫРАЗИТЬ(Активность.Объект КАК ЧтоТоТам).Контрагент
ВЫРАЗИТЬ(Активность.Объект КАК ЧтоТоТам).Обещание.Код
Ну и если обещание - это поле составного типа, тоже имеет смысл выразить.
aalu14; FatPanzer; +2 Ответить
2. soft_wind 19.08.22 17:14 Сейчас в теме
(1) какие измерения? какие индексы у регистра? что за Объект, его тип? тип Значения?

порядок условий сделать в соответствии с индексами,
Объект получить левым соединением
возможно поиск по Значению переделать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. starik-2005 3149 19.08.22 17:14 Сейчас в теме
(1)
Активность.Объект.Контрагент
По всей видимости объектом может быть что угодно. Судя по
Активность.Объект.Обещание.Код = "000000077"
объект тут какой-то конкретный. В обоих местах надо сделать:
ВЫРАЗИТЬ(Активность.Объект КАК ЧтоТоТам).Контрагент
ВЫРАЗИТЬ(Активность.Объект КАК ЧтоТоТам).Обещание.Код
Ну и если обещание - это поле составного типа, тоже имеет смысл выразить.
aalu14; FatPanzer; +2 Ответить
2. soft_wind 19.08.22 17:14 Сейчас в теме
(1) какие измерения? какие индексы у регистра? что за Объект, его тип? тип Значения?

порядок условий сделать в соответствии с индексами,
Объект получить левым соединением
возможно поиск по Значению переделать
4. aalu14 19.08.22 17:21 Сейчас в теме
(2)
индексами

прошу прощения, а как индексы смотреть?
5. starik-2005 3149 19.08.22 17:24 Сейчас в теме
(4)
как индексы смотреть
В конфигураторе, Если лениво - можно так: https://infostart.ru/public/796664/

Но для начала и без них можно много что сделать. Да и что-то сомневаюсь я, что Значение индексируется, ибо оно ресурс.
6. aalu14 19.08.22 17:25 Сейчас в теме
7. aalu14 19.08.22 17:30 Сейчас в теме
(5)Я правильно понимаю, что сначала нужно вытащить какой-то нужный тип данных из Объекта, а потом уже проводить операции?
8. starik-2005 3149 19.08.22 17:33 Сейчас в теме
(7) Если обращаться к полю составного типа в запросе, то 1С генерирует запрос серверу с соединениями ко всем таблицам, входящим в этот тип. Если написать ВЫРАЗИТЬ(Объект КАК Справочник.Контрагенты).КакойТоРеквизитСправочникаКонтрагенты, то соединение будет только с указанным справочником. Этого хватит для первичной оптимизации. Дальше смотреть, на сколько время выполнения запроса превышает целевое время. Тут много что можно сделать, но нужно ли? Иногда нет.
aalu14; Vitaly1C8; +2 Ответить
9. aalu14 22.08.22 09:09 Сейчас в теме
(8)Большое спасибо, наконец-то разобрался, как это работает, благодаря вам!!!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот