Имя: Пароль:
1C
1С v8
Запрос УНИЧТОЖИТЬ
,
0 gr0ck
 
11.11.11
17:09
В запросе несколько временных таблиц, которые в момент ненадобности уничтожаются. Насколько это необходимо, уничтожать ВТ?

Уничтожение занимает время, смотрю по замерам, с уничтожением ВТ 0,057с без уничтожения 0,033с
1 vde69
 
11.11.11
17:10
не обязательно, они уничтожатся сами при разрушения обьекта "запрос"
2 vde69
 
11.11.11
17:11
хотя с точки зрения надежности лучше явно уничтожать
3 zbv
 
11.11.11
17:12
(1) вроде как в каком-то из релизов не уничтожалось.
4 Ненавижу 1С
 
гуру
11.11.11
17:13
если это через менеджер временных таблиц, то покуда жив менеджер
5 Живой Ископаемый
 
11.11.11
17:15
у 32-битного сервера память и так утекает как через решето.. а тут еще увеличивать риск?
6 simol
 
11.11.11
17:17
(5)Если серверная, то они на скуле ведь.
7 gr0ck
 
11.11.11
17:17
В запросе выбираются данные, допустим одна ВТ там порядка нескольких тысяч записей, другая где-то так же. В общем, запрос большой, там таких штуки 4 ВТ с большим количеством строк.
В итоге результирующий запрос нам ну максимум тысяч 100 записей вернет, и потом мы по строчкам бегаем. Объект запрос в итоге пару минут жить будет, вместе с данными лишними
8 gr0ck
 
11.11.11
17:18
Пока данных мало, толком не проверить все. А потом может быть поздно...
9 Fragster
 
гуру
11.11.11
17:22
"Уничтожить" нужно, когда запрос с ВТ юзается в цикле или когда нехватает памяти под ВТ - уничтожать ненужные
10 Ненавижу 1С
 
гуру
11.11.11
17:23
(9) в цикле запросы это грех большой
11 Fragster
 
гуру
11.11.11
17:25
(10) в 1с нет рекурсивных запросов, пришлось крутить в цикле случай, когда Из одной таблицы искали сочетания из другой таблицы, пока все сочетания не нашлись (маркетоидная хухня)
12 Fragster
 
гуру
11.11.11
17:26
да и рекурсивными хз, получилось ли?. в цикле пришлось создавать и удалять часть ВТ, а часть - обрабатывать. Кстати, пригодились бы запросы типа UPDATE и DELETE, так приходилось делать копию ВТ с только нужными данными, удалять старую ВТ, переливать данные в ВТ с названием исходной, удалять временную ВТ
13 gr0ck
 
11.11.11
17:28
Ладно, думаю пока оставлю, когда реальные данные будут, там уже видно будет и скорость, и отъедаемую память
14 Ненавижу 1С
 
гуру
11.11.11
17:30
(11) интересно конечно, но хотелось бы проверить, почему нельзя одним запросом
15 izekia
 
11.11.11
17:32
(11) а рекурсия в запросах не зло?
16 Fragster
 
гуру
11.11.11
17:35
(14)
есть таблица
Номенклатура Количество

И таблица (Условно)
Комплект Группа Номенклатура Количество

Так вот - нужно собрать максимально сочетания из первой таблицы по второй (естественно, один и тот же экземпляр товара не может быть в разных комплектах)
17 Armando
 
11.11.11
17:37
А срез последних на каждую дату в скд через соединение наборов не зло?))
18 Aleks555
 
11.11.11
17:45
По-мойму 20 минут живут ВТ после создания...
19 Megas
 
11.11.11
17:54
(18) Смешно =)

ИМХО.
Убивается после отработки запроса, если нет Менеджера временных таблиц.
20 Armando
 
11.11.11
18:03
Убивается после рестарта SQL сервера)