Подскажите как ставится комментарий в конструкторе запросов или уже в тексте модуля где запрос прописан.
запрос=Новый запрос("ВЫБРАТЬ
| РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка,
| РасходныйКассовыйОрдерОплачиваемыеТовары.НомерСтроки,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Номенклатура,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Склад,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Количество,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Сумма
|ИЗ
| Документ.РасходныйКассовыйОрдер.ОплачиваемыеТовары КАК РасходныйКассовыйОрдерОплачиваемыеТовары,
| РегистрНакопления.ОплаченныеТовары.Обороты(
| ,
| ,
| ,
| Номенклатура В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВтТовары.Номенклатура
| ИЗ
| ВтТовары КАК ВтТовары)
| И Организация = &Организация
| И Поставщик = &Контрагент
| И Склад В
| (ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВтТовары.Склад
| ИЗ
| ВтТовары КАК ВтТовары)
| И (НЕ Оплачено)) КАК ОплаченныеТоварыОбороты
|ГДЕ
| РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка = &Ссылка"
ПоказатьПо теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
manticor пишет:
Подскажите как ставится комментарий в конструкторе запросов или уже в тексте модуля где запрос прописан.
Подскажите как ставится комментарий в конструкторе запросов или уже в тексте модуля где запрос прописан.
Тоже с этим столкнулся... Когда запросы большие - очень тяжело в них разобраться.
Если написать комменты прямо в тексте запроса - то после изменения запроса с помощью конструктора - все комменты будут удалены.
Если писать комменты в разрыв текста запроса - то же самое.
Остается только либо писать комменты в запросе, но изменения вносить уже вручную,
либо писать комменты перед или после самого запроса,
либо, составлять запрос из временных таблиц, формирование каждой делать отдельным запросом (привязанным к одному менеджеру временных таблиц), каждый такой маленький запрос отдельно комментарить.
Для данного примера это может выглядеть примерно так:
МВТ = Новый МенеджерВременныхТаблиц;
// Коммент 1
Запрос1 = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВтТовары.Склад
| ПОМЕСТИТЬ ТабСклады
| ИЗ
| ВтТовары КАК ВтТовары")
;
Запрос1.МенеджерВременныхТаблиц = МВТ;
Запрос1.Выполнить;
// Коммент 2
Запрос2 = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВтТовары.Номенклатура
| ПОМЕСТИТЬ ТабТовары
| ИЗ
| ВтТовары КАК ВтТовары)
| И Организация = &Организация
| И Поставщик = &Контрагент
| И Склад В ТабСклады
| И (НЕ Оплачено)")
;
Запрос2.МенеджерВременныхТаблиц = МВТ;
Запрос2.УстановитьПараметр...
Запрос2.Выполнить;
// Коммент 3
Запрос3 = Новый Запрос("ВЫБРАТЬ
| РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка,
| РасходныйКассовыйОрдерОплачиваемыеТовары.НомерСтроки,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Номенклатура,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Склад,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Количество,
| РасходныйКассовыйОрдерОплачиваемыеТовары.Сумма
|ИЗ
| Документ.РасходныйКассовыйОрдер.ОплачиваемыеТовары КАК РасходныйКассовыйОрдерОплачиваемыеТовары,
| РегистрНакопления.ОплаченныеТовары.Обороты(
| ,
| ,
| ,
| Номенклатура В ТабТовары) КАК ОплаченныеТоварыОбороты
|ГДЕ
| РасходныйКассовыйОрдерОплачиваемыеТовары.Ссылка = &Ссылка")
;
Запрос3.МенеджерВременныхТаблиц = МВТ;
Запрос3.УстановитьПараметр...
Рез = Запрос3.Выполнить;
Показатьлибо, составлять запрос из временных таблиц, формирование каждой делать отдельным запросом (привязанным к одному менеджеру временных таблиц), каждый такой маленький запрос отдельно комментарить.
Через временные таблицы вы, в более-менее серьезных запросах, рискуете сильно увеличить время выполнения, т.к. временная таблица записывается на жесткий диск.
Правильней было бы копировать текст запроса куда-нибудь, перед тем как вы к нему притронулись (бэкап, опять же), и потом нужные каменты добавлять заново.
aspiid пишет:
Через временные таблицы вы, в более-менее серьезных запросах, рискуете сильно увеличить время выполнения, т.к. временная таблица записывается на жесткий диск.
Через временные таблицы вы, в более-менее серьезных запросах, рискуете сильно увеличить время выполнения, т.к. временная таблица записывается на жесткий диск.
Это из какого источника Вам известно, что временные таблицы записываются на жесткий диск? В книге профессиональной разработки в разделе оптимизации наоборот рекомендуется выполнять сложные запросы через временные таблицы или пакетные запросы, потому что они ХЭШИРУЮТСЯ на сервере. А в вебинаре Чистова наглядно продемонстрировано насколько быстрее пакетный запрос, чем соединение/объединение. И никогда ничего временное на жесткий диск не записывалось.
(9)
все временные таблицы пишутся в tempdb.
В принципе, потери на запись временной таблицы не очень существенны, но они есть. В каких то случаях они компенсируются тем, что Скуль может выбрать более правильный план выполнения, в каких-то нет.
В любом случае, правильно составленный запрос значит значительно больше для производительности.
Все верно.
все временные таблицы пишутся в tempdb.
В принципе, потери на запись временной таблицы не очень существенны, но они есть. В каких то случаях они компенсируются тем, что Скуль может выбрать более правильный план выполнения, в каких-то нет.
В любом случае, правильно составленный запрос значит значительно больше для производительности.
Lost пишет:
А в вебинаре Чистова наглядно продемонстрировано насколько быстрее пакетный запрос, чем соединение/объединение.
А в вебинаре Чистова наглядно продемонстрировано насколько быстрее пакетный запрос, чем соединение/объединение.
Все верно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот