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