Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Определить лишние временные таблицы в запросе, не идущие в последнюю выборку

Определить лишние временные таблицы в запросе, не идущие в последнюю выборку
Я
   NikP123
 
06.06.20 - 15:29
Есть отчет на СКД с огромным запросом на 220 таблиц... На основании него был сделан еще один, в котором половина полей была убрана, запрос я не трогаю, чтобы не нарушать целосность, вдруг чего-то слетит. Но отчет формируется очень долго.., надо оптимизировать. Решил поудалять вероятно образовавшиеся "лишние" временные таблицы в запросе (после отказа от многих полей в настройках).
НО запрос на 220 таблицы, поэтому вручную искать откуда тянется и где начинается каждое поле и каждая таблица муторно... Нет ли какого-то способа сделать это быстро в полуавтоматическом режиме?
   Kassern
 
1 - 06.06.20 - 15:39
Я думаю врятли найдется способ это дело автоматизировать. В последнем запросе, какие таблицы вы не используете и найдите где эти таблицы формируются. Если нигде больше в тексте запроса после создания временной таблицы, она не используется, то ее скорее всего можно удалить.
   vde69
 
2 - 06.06.20 - 15:42
выкинь бяку и напиши нормальный где будет не 220 а 22 таблицы
   NikP123
 
3 - 06.06.20 - 15:43
(2) такое не предлагать)
   NikP123
 
4 - 06.06.20 - 15:43
(2) отчет готов и можно считать принят, надо всего лишь оптимизировать
   vde69
 
5 - 06.06.20 - 16:03
кстати посмотри сколько он в темб-дб добавляет, а то вдруг выяснится, что мега сервер заказчика не выдержит несколько паралельных запросов...

а вообще 220 таблиц в запросе - это по любому не правильно
   kumena
 
6 - 06.06.20 - 16:10
Так в СКД платформа сама убирает не используемые таблицы и запросы, для полей, которые не выводятся.
Ловите запрос, тот который реально выполняется из макета.
   kumena
 
7 - 06.06.20 - 16:12
Я даже больше скажу, эта слишком умная компоновка, иногда то что надо не выводит, и приходится "как бы не нужные" (с её точки зрения) поля обязательными полями делать.
   kumena
 
8 - 06.06.20 - 16:23
Кстати, я тоже как-то боролся за производительность в СКД на длинном запросе, сколько временных таблиц там было не знаю, думаю что 100 точно было.
Тот же самый запрос (реальный, из макета) в обычной консоли выполнялся раз в 6-8 быстрее. Ничего не помогало, в итоге просто выполнял запрос без СКД и выгружал результат в источник.
Было это на ЗУП 2.5 и 8.2 и довольно давно.
   ДенисЧ
 
9 - 06.06.20 - 16:31
(2) "нормальный" запрос из 22х таблиц? О_о
   ДенисЧ
 
10 - 06.06.20 - 16:31
(0) продам два символа... / и /
Они помогут
   experimentator76
 
11 - 06.06.20 - 17:02
(0) в Выбранных полях оставь только те что по-твоему используют юзеры в отчете.
СКД сама отключит соединения с таблицами из которых берутся невыбранные поля.

но скорее всего это просто говняный тормозной запрос, который надо смотреть глазами и оптимизировать в комплексе.
можно пару дней на оптимизацию убить.
на форуме без доступа к запросу и конфе этого не сделать
   experimentator76
 
12 - 06.06.20 - 17:05
(0) еще у 1с был замечательный курс по глубокому изучению запросов.
сейчас не знаю есть ли. но если есть каждому одинэснику советовал бы пройти даже удаленно
   Ненавижу 1С
 
13 - 06.06.20 - 17:08
Когда 1с впилит хранимые процедуры, выдающие табличные данные?
   Надо работать
 
14 - 06.06.20 - 17:44
(11) + а после этого погони через консоль компоновки в Инструментах разработчика - получишь оптимизированный запрос
   NikP123
 
15 - 06.06.20 - 19:31
(6) Он только поля из запросов убирает, таблицы и соединения не трогает
   experimentator76
 
16 - 06.06.20 - 19:54
(15) {} вокруг соединений поставь, т.е.
{... соединение ... по ...}
   Ненавижу 1С
 
17 - 06.06.20 - 19:56
(15) только привести это может к иным результатам чем задумывалось
   experimentator76
 
18 - 06.06.20 - 19:57
(15) временные таблицы СКД-оптимизатор по-моему не трогает - возможно их надо перенести в тело
главного запроса - тогда оптимизатор должен заработать
   experimentator76
 
19 - 06.06.20 - 19:58
(17) понятно что надо от запроса и данных отталкиваться, но их здесь нет
   Конструктор1С
 
20 - 06.06.20 - 20:57
Возможно дело не в количестве таблиц, а в кривых условиях отборов/соединений

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.