Почему внутреннее соединение медленнее, чем левое #778051


#0 by John83
Если в запросе поставить внутреннее соединение, то отрабатывает в несколько раз дольше. Почему так? ГДЕ     РасчетыСКонтрагентамиЗаявкиОбороты.Регистратор ССЫЛКА Документ.ПлатежноеПоручениеВходящее
#1 by Жан Пердежон
Есть такие базовые заклинания: профайлер, план запроса, обновление статистики...
#2 by В тылу врага
поля соединений индексированные?
#3 by ptiz
А условие ты убираешь при внутреннем? Тогда - да, возможно.
#4 by John83
какое условие?
#5 by John83
нет
#6 by polosov
Запрос с левым соединением с условием ГДЕ, всегда превращается в запрос с внутренним соединением.
#7 by ovrfox
Ну ты загнул. Запрос с внутренним соединением всегда можно преобразовать в левое с условием. Обратное - НЕВЕРНО.
#8 by Fram
аккуратнее надо быть с изречениями. после такого могут уволить
#9 by НеБорисНуралиев
Ну тут фактически два подзапроса соединяются, возможно оптимизатор  не самый оптимальный план выбирает, потому что статистики нет и взять негде. Попробуй условие из ГДЕ в условие внутреннего соединения вставить. Возможно быстрее отработает.
#10 by Tateossian
Слышал от гуру, что с виртуальными таблицами вообще лучше не делать соединений.
#11 by ptiz
Которое "ГДЕ".
#12 by hitodom
скл выбирает другой тип соединения моет быть хэш джойн и обламывается
#13 by Fragster
вместо РегистрНакопления.РасчетыСКонтрагентамиЗаявки.Обороты использовать РегистрНакопления.РасчетыСКонтрагентамиЗаявки, а РегистрНакопления.ПродажиЗаявки.Обороты запихать предварительно во временную таблицу
#14 by Fragster
ну а вообще ответ в
#15 by John83
да, сам что-то забыл про такое..
#16 by John83
в общем запрос сделал несколько иначе всем спасибо!
#17 by quest
сделай Выразить для регистратора - у тебя и план упростится сразу, и от условия уйдешь
#18 by b_ru
у тебя в слове "долбодятел" множество ошибок - получилось "гуру"
#19 by Fragster
нет, не упростится
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям