0
pumba055
04.02.22
✎
19:42
|
Коллеги!
Вот странность в запросе в соединении было написано --> ДанныеПоЗаказу.Контрагент = ТелефонКонтрагента.Объект где ТелефонКонтрагента.Объект - составной тип
Исправили на ДанныеПоЗаказу.Контрагент = ВЫРАЗИТЬ(ТелефонКонтрагента.Объект КАК Справочник.Контрагенты) запрос стал в 10 раз дольше работать, раньше работал 1-2 сек, а с Выразить 10 сек... Вопрос к знатокам...
|
|
3
ДедМорроз
05.02.22
✎
18:01
|
Скорей всего,поле было индексированное,а вы приведением тира поломали индекс и запрос выполнялся или соединением упорядоченных таблиц с дополнительным упорядочиванием (если mssql это поймет)или полным сканированием меньшей таблицы для каждой строки большей,если postgres.
Приведение нужно только тогда,когда выполняется соединение с таблицами,то есть прт получении дочернего значения поля через точку,в остальных случаях,составной тип ничем не опасен.
|
|