Три варианта запроса, выбиращего одно и то же, какой предпочтительнее?
ВЫБРАТЬ
ЗаказТовары.Номенклатура КАК Номенклатура,
ЗаказТовары.Сумма КАК Сумма,
ЗаказТовары.Ссылка.Организация КАК Организация,
ЗаказТовары.Ссылка.Контрагент КАК Контрагент
ИЗ
Документ.Заказ.Товары КАК ЗаказТовары
//---------------------------------------
ВЫБРАТЬ
Заказ.Организация КАК Организация,
Заказ.Контрагент КАК Контрагент,
ЗаказТовары.Номенклатура КАК Номенклатура,
ЗаказТовары.Сумма КАК Сумма
ИЗ
Документ.Заказ КАК Заказ
ЛЕВОЕ СОЕДИНЕНИЕ Документ.Заказ.Товары КАК ЗаказТовары
ПО ЗаказТовары.Ссылка = Заказ.Ссылка
//---------------------------------------
ВЫБРАТЬ
Заказ.Организация КАК Организация,
Заказ.Контрагент КАК Контрагент,
Заказ.Товары.(
Номенклатура КАК Номенклатура,
Сумма КАК Сумма
) КАК ЗаказТовары
ИЗ
Документ.Заказ КАК Заказ
ПоказатьОбоснуйте, пожалуйста, ответ. Может, ссылка на стандарты есть?
Найденные решения
(25)
Третий:
интересно
Первый:SEL ECT
T1._Fld5181RRef,
T1._Fld5182,
T2._Fld5157RRef,
T2._Fld5168RRef
FROM dbo._Document765_VT5179 T1
LEFT OUTER JOIN dbo._Document765 T2
ON T1._Document765_IDRRef = T2._IDRRef
ПоказатьТретий:
INS ERT INTO #tt2 WITH(TABLOCK) (_C_1RRef, _C_2RRef, _TTC_1) SEL ECT
T1._Fld5157RRef,
T1._Fld5168RRef,
T1._IDRRef
FROM dbo._Document765 T1
SELECT
T2._C_1RRef AS Fld5157RRef,
T2._C_2RRef AS Fld5168RRef,
T2.SDBL_IDENTITY AS SDBL_IDENTITY
FR OM #tt2 T2 WITH(NOLOCK)
SELE CT
T3._Fld5181RRef,
T3._Fld5182,
T4.SDBL_IDENTITY AS SDBL_IDENTITY
FR OM dbo._Document765_VT5179 T3
INNER JOIN #tt2 T4 WITH(NOLOCK)
ON T4._TTC_1 = T3._Document765_IDRRef
ORDER BY 3 ASC
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(10) Ок. Первый запрос в этом случае не выведет данные из шапки.
Второй или третий лучше использовать для отчета?
И еще интересует, когда в первом запросе выбирается два (и более) реквизита из шапки интерпретатор/оптимизатор запросов 1С будет делать одно соединение с таблицей шапки или по числу выбираемых реквизитов?
Второй или третий лучше использовать для отчета?
И еще интересует, когда в первом запросе выбирается два (и более) реквизита из шапки интерпретатор/оптимизатор запросов 1С будет делать одно соединение с таблицей шапки или по числу выбираемых реквизитов?
(1) "какой предпочтительнее?"
Встречный вопрос. Предпочтительнее для чего?
Последний использую только в консоли данные посмотреть и то не так:
Выбрать первые 100 т.* из <НекаяТаблицаСТабличнымиЧастями> как т Где....
Такой вариант идеально для этого подходит. И только для этого и подходит. В остальных случаях, наверное никогда. Я не большой специалист, но никогда не использовал его в других случаях.
Первые два используются условно пополам. Смотря какая задача решается. Результат же они дают разный.
И это не все случаи, которые используются. Есть ещё с внутренним соединением. Есть ещё...
Встречный вопрос. Предпочтительнее для чего?
Последний использую только в консоли данные посмотреть и то не так:
Выбрать первые 100 т.* из <НекаяТаблицаСТабличнымиЧастями> как т Где....
Такой вариант идеально для этого подходит. И только для этого и подходит. В остальных случаях, наверное никогда. Я не большой специалист, но никогда не использовал его в других случаях.
Первые два используются условно пополам. Смотря какая задача решается. Результат же они дают разный.
И это не все случаи, которые используются. Есть ещё с внутренним соединением. Есть ещё...
(25)
Третий:
интересно
Первый:SEL ECT
T1._Fld5181RRef,
T1._Fld5182,
T2._Fld5157RRef,
T2._Fld5168RRef
FROM dbo._Document765_VT5179 T1
LEFT OUTER JOIN dbo._Document765 T2
ON T1._Document765_IDRRef = T2._IDRRef
ПоказатьТретий:
INS ERT INTO #tt2 WITH(TABLOCK) (_C_1RRef, _C_2RRef, _TTC_1) SEL ECT
T1._Fld5157RRef,
T1._Fld5168RRef,
T1._IDRRef
FROM dbo._Document765 T1
SELECT
T2._C_1RRef AS Fld5157RRef,
T2._C_2RRef AS Fld5168RRef,
T2.SDBL_IDENTITY AS SDBL_IDENTITY
FR OM #tt2 T2 WITH(NOLOCK)
SELE CT
T3._Fld5181RRef,
T3._Fld5182,
T4.SDBL_IDENTITY AS SDBL_IDENTITY
FR OM dbo._Document765_VT5179 T3
INNER JOIN #tt2 T4 WITH(NOLOCK)
ON T4._TTC_1 = T3._Document765_IDRRef
ORDER BY 3 ASC
Показать
(28)
Вот это самое искл. может сильно влиять на производительность.
Сравните:
Statistics: RecordsScanned = 320
Statistics: RecordsScanned = 191
Пояснять что чему соответствует не надо?
Первый и второй, выходит, похожи. Ну, за искл. того, какая основная таблица, с какой соединение...
Вот это самое искл. может сильно влиять на производительность.
Сравните:
Statistics: RecordsScanned = 320
Statistics: RecordsScanned = 191
Пояснять что чему соответствует не надо?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот