Почему ВТ медленнее чем построитель запроса? #714073


#0 by gar_den
Изначальное есть построитель, который тянет данные из регистра сведений - 1 млн.записей Провел такой эксперимент: создаю таблицу 25 тыс записей, 13 колонок. Тест 1: сношу изначальный текст запроса построителя, чтобы выбирать данные не из регистра, а из ИсточникаДанных. Запихиваю таблицу в ИсточникДанных построителя, формирую выбранные поля и поля отбора, выполняю, выгружаю результат - время выполнения - 200 мс. Тест 2: делаю все то же самое с построителем, но в конце из построителя делаю запрос методом ПолучитьЗапрос и передаю в него МенеджерВременныхТаблиц, в котором уже есть эта таблица. Текст "Выбрать из РегистрСведений" заменяю на "Выбрать из ВТ". В итоге время выполнения - 1700 мс. Таблица индексирована по полям поиска. Почему настолько медленнее работает временная таблица чем построитель?
#1 by alle68
А в тестах время чего измеряется?
#2 by Ненавижу 1С
менеджер он же постоянно данные из БД берет вроде
#3 by alle68
Нет, он их где-то хранит. Это же таблицы.
#4 by gar_den
время в мс - милисекунды
#5 by gar_den
выполнение запроса и выгрузка результата в ТЗ. Итоговая тз - 1 строка
#6 by GROOVY
Временные таблицы физически создаются в темпах. Потому и медленнее.
#7 by Ненавижу 1С
хранит сервер БД
#8 by Сияющий Асинхраль
В какой-то старой методичке от УЦ говорилось, что временные таблицы на винт пишутся, т.е. их сначала надо записать куда-то и только потом обрабатывать, а запись на винт все-таки не самая быстрая операция в современных компах...
#9 by gar_den
ну и бред, это в духе 1С создать супер мега мощный инструмент который опять гавенно работае
#10 by gar_den
супер мега мощный нужные полезные виртуальные таблице с супер индексацией!!! и записывать их на винт))) что может быть гениальней)))
#11 by ДенисЧ
да ты гений... Борис тебя заждался, чего ты ждёщь??? Он тебе даст отдвухсотыщ и 1с залетает!!!
#12 by Сияющий Асинхраль
Ну не будь наивным... За любое удобство расплачиваться приходится :-(, кому-то деньгами, кому-то временем и скоростью... Просто реши для себя, что важнее - время работы отчета или удобство его разработки, и ищи компромисс между всеми требованиями...
#13 by Сияющий Асинхраль
+ А так, помнится, когда я еще плотно семеркой занимался народ чтобы использовать встроенные черные запросы делал некий хитрый Темп документ, в который сваливал нужные данные и к этому документу делал запрос, в котором делались и итоги с группировками и упорядочевание, ну а после получения данных документ и удалить можно было. Фактически 1С реализует подобную схему, но на уровне движка...
#14 by Necessitudo
Вообще-то это не 1С придумало. В MS SQL также временные таблицы в tempdb и пишутся. Сейчас стараются tempdb на ssd диск выносить.
#15 by MrStomak
В СУБД вообще все таблицы на дисках, прикинь.
#16 by dj_serega
Не могу не согласиться. Временные таблицы очень удобны. А в повседневной жизни такие запросы редко используются;)
#17 by dj_serega
+ на миллионы записей :)
#18 by Chai Nic
На практике даже вынос tempdb на рамдиск практически не влияет на быстродействие в типичных операциях 1с.
#19 by Лефмихалыч
может дело в том, что построитель все делает на клиенте и экономит тем самым на клиент-серверном взаимодействии?
#20 by Лефмихалыч
у всех повседневная жизнь-то разная, так что говори за себя
#21 by alle68
В чистоте эксперимента и точности его описания все уверены? М.б., автор предоставит обработки для ознакомления?
#22 by Necessitudo
Ну при реструктуризации прирост в производительности очень даже неплох)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С