Задать вопрос
@NeoZeed

В каком порядке соединяются таблицы в запросе?

Может в 1С так же как и везде!
Допустим, нужно соединить некоторую таблицу (от 5 до 20 записей) с регистром, а из регистра нужно соединение с регистратором.
Очевидно, что оптимальней сначала соединить таблицу с регистром, потом уже регистр с регистратором.
Как в таком случае нужно написать запрос, т.е. в каком порядке компоновщик таблиц соединяет таблицы?
Мой запрос:

...
ИЗ
 ТабличнаяЧастьТовары КАК ТабличнаяЧастьТовары
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ГрафикОтгрузкиТоваров КАК ГрафикОтгрузкиТоваров
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЗаказНаВнутреннееПотребление КАК Заказ
      ПО ГрафикОтгрузкиТоваров.Регистратор = ЗаказНаВнутреннееПотребление.Ссылка
   ПО ТабличнаяЧастьТовары.Номенклатура = ГрафикОтгрузкиТоваров.Номенклатура


Или правильней поменять местами, сначала то что внутри регистр - документ, а потом табличная часть - регистр?
  • Вопрос задан
  • 1370 просмотров
Подписаться 1 Оценить 5 комментариев
Решения вопроса 1
в каком порядке компоновщик таблиц соединяет таблицы


Запрос выполняется СУБД. Платформа 1С:Предприятие работает с пятью разными типами СУБД: собственной (файловый вариант), Microsoft SQL Server, IBM DB2, Oracle Database и PostgreSQL. Не считая различий в версиях.

В каждой из них оптимизатор запросов СУБД сам определяет в каком порядке соединять запросы основываясь на куче дополнительной информации о таблицах и уже выполненных запросах. Как следствие в разные моменты времени один и тот же запрос на одной и той же базе может выполняться по разному.

Так что однозначного ответа на ваш вопрос нет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Andrey052
Программист
"В каком порядке соединяются таблицы в запросе?" - В каком порядке запрашиваются, в таком и соединяется.
"ВНУТРЕННЕЕ СОЕДИНЕНИЕ" означает что это вложенный запрос по указанным параметрам.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы