Свернуть список значений #543809


#0 by MagTux
Доброго времени суток! Я так понимаю, что не существует штатной процедуры свёртки списка значений (удаления дубликатов). Я сворачиваю список так: На моём списке в 19111 символьных строк такая процедура отрабатывает 35 секунд, а если пользоваться таблицей значений с одной колонкой и процедурой Свернуть, то свёртка продолжается 21 миллисекунду. Существует ли такой же быстрый способ свернуть список не прибегая к использованию таблицы значений? Спасибо!
#1 by andrewks
Выгрузить
#2 by zak555
зачем попытка ?
#3 by andrewks
ну как это! он в цикле удаляет эл-ты списка, а проход при этом использует _прямой_
#4 by MagTux
Список то уменьшается. Можно использовать дополнительную переменную, но так вроде, лучше.
#5 by andrewks
лучше кому?
#6 by Mikeware
"не поможет"... пропорция радиусов такова, что не поможет...
#7 by zak555
удалить сзада ?
#8 by andrewks
сзадУ :-) а вообще - я уже ему сказал, как нормально - перегнать в ТЗ, свернуть и выгрузить
#9 by zak555
так он опять в будет использовать
#10 by andrewks
#11 by MagTux
Нормальные радиусы. Спасибо, но через ТЗ всё-равно быстрее.
#12 by andrewks
и?
#13 by Ёпрст
select * distinct from #врСписок
#14 by Lepochkin
Может проще на момент добавления проверить, а нет ли там этого значения методом Принадлежит??? Лишних телодвижений делать не надо будет
#16 by MagTux
Такой вариант у меня отработал быстрее, чем . Но если изначально пользоваться ТЗ вместо списка, то ТЗ всё-равно быстрее сворачивается. Вероятно, это из-за типизированных полей. Умнее всего будет делать . Хотя не всегда возможно. Спасибо всем!
#17 by segabuben
, с ТаблицейЗначений завсегда быстрей. и кода немного совсем.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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