|
Временные таблицы в запросе | ☑ | ||
---|---|---|---|---|
0
Kvitok8320
13.09.13
✎
13:36
|
Подскажите пожалуйста, как можно посмотреть в процессе отладки - что попало после выполнения запроса во временную таблицу?
|
|||
1
Fragster
модератор
13.09.13
✎
13:37
|
используй инструменты разработчика - там есть такая возможность.
http://devtool1c.ucoz.ru/index/funkcii_dlja_otladki/0-33 |
|||
2
Fragster
модератор
13.09.13
✎
13:38
|
||||
3
Kvitok8320
13.09.13
✎
13:39
|
спасибо
|
|||
4
Kvitok8320
14.09.13
✎
10:52
|
Подскажите, пожалуйста (не могу взаимосвязь до конца понять): Если во временной таблице такое поле есть (проверил инструментом, который указан выше), а в последующем запросе который к этой временной таблице обращается выдается ошибка "Поле не входит в группу ..." - что это может означать?
Это как то связано со "СГРУППИРОВАТЬ ПО" и если да, то в котором запросе - в том, в котором я получал эту временную таблицу, или в том, в котором я пытаюсь из нее записи получить? В первом запросе Группировок никаких не ставил Запрос02=Новый Запрос; Запрос02.МенеджерВременныхТаблиц = МВТ; Запрос02.Текст = " |выбрать ДатаОтбора КАК Период, ДоговорЗайма |поместить ВТ_0 |ИЗ регистрсведений.ДЗВспомогательный"; результат02 = запрос02.Выполнить(); Во втором если СГРУППИРОВАТЬ ПО не устанавливаю - выдает ошибку ВТ_0.Период не входит в группу запрос2 = новый запрос; запрос2.МенеджерВременныхТаблиц = МВТ; запрос2.Текст = " |Выбрать |ВТ_0.Период, |Максимум(регистрсведений.договорызаймазадолженность.период) как максимум |Поместить ВТ2 |ИЗ ВТ_0 |Левое Соединение |регистрсведений.договорызаймазадолженность |ПО ВТ_0.Период >= регистрсведений.договорызаймазадолженность.период |Сгруппировать по |ВТ_0.Период"; результат2 = запрос2.Выполнить(); |
|||
5
Fragster
гуру
15.09.13
✎
18:39
|
предлагаю воспользоваться конструктором запроса, вкладкой "группировка"
|
|||
6
Kvitok8320
16.09.13
✎
09:32
|
понятно, а как в конструкторе запросов обратиться ко временным таблицам запроса это где прочитать можно? я просто в описании не нашел ...
|
|||
7
Галахад
гуру
16.09.13
✎
09:41
|
Внизу слева.
|
|||
8
Kvitok8320
16.09.13
✎
09:50
|
спасибо, понял
|
|||
9
Kvitok8320
16.09.13
✎
10:31
|
в указанном месте, кроме кнопки, запускающей окно с редактором запроса ничего почему-то не вижу.... про "визуальную работу" со временными таблицами в конструкторе запросов где-то написано? или хотя бы просто про работу со временными таблицами? Заранее извиняюсь за непонятливость ....
|
|||
10
Полотенчик
16.09.13
✎
10:47
|
Создать - http://img809.imageshack.us/img809/8935/g2d8.png
Обратиться - http://img266.imageshack.us/img266/1659/q6r0.png |
|||
11
Kvitok8320
16.09.13
✎
10:51
|
(10) Понял, спасибо!
|
|||
12
Kvitok8320
16.09.13
✎
10:53
|
а не подскажете (из практики), что лучше использовать для большого массива: несколько запросов с созданием и обращением ко временным таблицам, или вложенные запросы?
|
|||
13
ЛЮС
17.09.13
✎
18:36
|
(12) Соединение с временными таблицами эффективнее, чем с подзапросами. Так же забываем про индексы.
|
|||
14
Sammo
17.09.13
✎
19:03
|
(12) Использование временных таблиц пзволят управлять планом запроса. Использование вложенных таблиц приводит к непрогнозируемому плану запроса, что _иногда_ приводит к деградации производительности (иногда очень существенной).
Нюанс - разбухает tempdb (использование временных таблиц критично к тому - где таблицы у tempdb) |
|||
15
Kvitok8320
19.09.13
✎
11:34
|
спасибо, учту!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |