Скорость запроса и ТЗ в цикле. #686144


#0 by Полька
Ребят, не отсылайте замерять ее смостоятельно, ибо чтобы замерить- нужно 2 варианта отчета написать. Есть отчет, который написан на основе огромных запросов. Не быстрее ли будет, если просто выгрузить необходимые данные в таблицы значений и доделать остальное?
#1 by Галахад
Как удобнее так и делай.
#2 by Нуф-Нуф
не исключено
#3 by Конфигуратор1с
Два вопроса - а откуда данные то брать без запросов?
#4 by H A D G E H O G s
Переписать огромные запросы на неогромные.
#5 by Полька
брать простыми запросами, без супер-пупер условий, группировок и т.д.
#6 by Галахад
Таблицы же тоже можно в запросах использовать.
#7 by Конфигуратор1с
ну так простой запрос без условий будет однозначно медленнее чем сложный с условием)
#8 by Конфигуратор1с
в общем показывайте своего друга, будем лечить)
#9 by МихаилМ
исходите из того , что "узкое место" в производительности отчетов - сетевой интерфейс. соответственно это может проявится при выводе ссылок, когда 1с для каждой ссылки генерирует запрос. значит нужно разыменование ссылок заменить получением выборки для всех однотипных ссылок тут появляется два решения в запросе сразу получить разыменования либо вычислить их при формировании отчета.
#10 by Полька
пока чисто теоритически выясняю :) не пугайте человека, 2 недели сидящего в восьмерке :) мне просто с запросами разобраться
#11 by Полька
мне=мне б
#12 by Конфигуратор1с
тогда читаем книжечку если бы ее прочитал в свое время сколько кривых бы запросов не родилось бы(
#13 by Конфигуратор1с
и вот видео Чистова посмотреть
#14 by Конфигуратор1с
Таки был прав - 7шница) Сестра!)
#15 by hhhh
в общем в восьмерке такая фигня: время выполнения запроса примерно одно и то же, независимо, простой и сложный. То есть один сложный запрос будет выполняться в 10 раз быстрее, чем 10 простых. И потом сложная обработка таблиц значений в среднем выполняется столько же сколько и запросы. В общем вам вариант будет работать в 20 раз медленнее.
#16 by х86
почитай про СКД, не нужно отчеты делать через ТЗ
#17 by H A D G E H O G s
Хрень.
#18 by Полька
#19 by AndreyLan
+100
#20 by H A D G E H O G s
Как пример, можно глянуть сюда, прежде чем обобщать глупости Идите, учите книжки и профайлер.
#21 by Конфигуратор1с
а можно ссылку на литературу - профайлер для гуманитариев? а то все посылают, а что оно и как не знаю(
#22 by Bigbro
в 7ке могло быть, в 8ке точно нет, там запросы намного более правильно работают, и чем больше его уточняешь в самом начале, тем быстрее в итоге все работает.
#23 by H A D G E H O G s
Вот. Это Гейтсово Откровение, квинтэссенция Добра и Зла.
#24 by Serginio1
#25 by Serginio1
Все зависит от объемов и сложностей. Запрос компилируется, но есть нехилые затраты на трафик данных, создание временной таблицы ну и сама компиляция запроса. За это время. Есть куча вариантов, когда на клиенте подсчет намного быстрее чем на SQL. Например  подсчет количества дней нахождения товара на складе. итд. Выбирай, то что удобнее тебе, а потом оптимизируй по скорости, если это будет необходимо.
#26 by Конфигуратор1с
спасибо
#27 by Холодильник
возможностей для оптимизации запросов неограничнное множество. читайте итс
#28 by H A D G E H O G s
нуну
#29 by Sasha_H
Все зависит от задачи. Есть такие, что запросами не решить или если решить то оно будет намного избыточней. Мы не видим картинки в целом, чтобы тебе сказать - да в случае запроса это будет быстрей или наоборот.
#30 by vhl
Главное потом в циклах миллион раз не сделать что-то типа такого "СтрокаТЗ.Номенклатура.СтавкаНДС" :)
#31 by mrDSide
+1
#32 by Salimbek
+1
#33 by AugustBlack
3-ий вариант написать общий запрос, поместить ее в вирт. таблицу и обращаться к вирт. таблицу мини-запросами,которые будут фильтровать данные по определенным условиям и предоставлять нужную выборку. ps. на мой взгляд это лучше чем дерево или таблицу значений разбирать в циклах
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям