v7: 1С++ Индексированная таблица, метод Группировать тормозит #710359


#0 by Холст
1С++ версия 3.2.2.0, ось винда 2008, размер исходной ТЗ 978строк группировка идет по 2м показателям, на выходе после группировки почти столько же строк   почему-то группировка выполняется секунд 10 на таких мелких данных в чем может быть затык ? и как ускорить группировку ?
#1 by Холст
кажись индекс надо добавить как то
#2 by dk
покажи что в СтрГруппировокИнд там если ссылки то надо * добавлять, иначе по наименованию будет долго группировать
#3 by Холст
хотя, возможно при групировке и не требуется добавлять индекс ?
#4 by Холст
понял, подставлю * там где группировка по справочникам/документам
#5 by Холст
подставил * в индексное выражение без разбора на тип колонки и стало летать, спасибо
#6 by ADirks
все подставляют магическую *  и радуются, хотя и не понимают что произошло :) колдунство процветает во все века!
#7 by Холст
1. без * алгоритм процедуры Группировать для каждой ячейки формирует представление, потом только группирует по похожести, отсюда и лишнее время, правильно понял ? 2. получается, если не ставить *, то 2 разных элемента справочника с одинаковым наименованием будут для алгоритма как 1 элемент и это приведет к неверной группировке, так ?
#8 by ildary
низкий поклон главному колдуну, подарившему нам ИТЗ.
#9 by ADirks
1. да, и самое главное - для этого 1С для каждого элемента лезет в БД. 2. нет, это только в 1С такие глюки не исправляют. Мы исправили :)
#10 by Холст
спасибо, что подарили 1С++ 7чникам
#11 by Salimbek
А если вдруг начнешь большими выборками работать, то желательно будет в запрос с данными вытащить еще и поле "<ИмяКолонкиСправочника>_Родитель", т.к.: > Если в таблице есть колонка с именем > '<ИмяКолонкиСправочника>_Родитель', то родитель для элемента будет браться > из этой колонки - это уменьшает количество обращений к базе, > и заметно увеличивает производительность.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

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