Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Эффективное получение итогов по группам спр. в SQL (число прочтений - 9301 )
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Эффективное получение итогов по группам спр. в
Ответ #15 - 23. Октября 2006 :: 06:41
Печать  
ADirks писал(а) 23. Октября 2006 :: 06:19:
А у меня исходная таблица сортируется всегда в самом запросе, и все нужные представления и расшифровки тоже в запросе формируются. При выводе на печать я в базу уже не лезу.

Это грамотно.
И для случая группировки с учетом групп справочника тоже? Мне как правило - не удается, т.к. лениво.
И вообще я идеологически против работы с группами в SQL - у нас реляционная, а не иерархическая база.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Эффективное получение итогов по группам спр. в
Ответ #16 - 23. Октября 2006 :: 06:46
Печать  
+

Вот здесь нашел то, что делал сто лет назад на тему группировки
http://www.1cpp.ru/forum/YaBB.pl?num=1161550731
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Эффективное получение итогов по группам спр. в
Ответ #17 - 23. Октября 2006 :: 06:51
Печать  
Да, Леша, еще один момент хотел сказать.

Не нужно всех этих id, parentid и т.д.
ИМХО достаточно нормально типизированных полей.

Основная проблема с ними - это обязательный LinkContext при получении из ИТ из языка 1С.
Но внутри 1cpp это для построения индекса, поиска и сортировки нам не нужно!

Т.е. в принципе, можно сделать очень эффективную группировку, если методу Группировать() действительно предоставить по доп. таблице родителей на каждую иерархию.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
ADirks
1c++ developer
1c++ moderator
Отсутствует


А нужны ли мы нам?

Сообщений: 692
Местоположение: Новосибирск
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: Эффективное получение итогов по группам спр. в
Ответ #18 - 23. Октября 2006 :: 06:52
Печать  
По группам пока не было необходимости итоги считать, а вот сортировка с учётом иерархии - это да, есть.  Делается в 3 этапа.
1) Строится таблица с конечными данными, сплёвывается во временную таблицу.
2) Строится таблица всех групп для элементов,  вохедших в результат. В этой таблице формируется колонка с "полным именем" группы, чтобы по ней потом сортировать
3) Выводится объединение таблицы элементов (элементы джойнятся с непосредственным родителем в таблице из п.2) и таблицы групп, полученный UNION сортируется по полному пути, и по всему остальному.
Запрос приводить смысла нет, потому как там используется доп. таблица для упрощения работы с иерархиями  ( http://www.1cpp.ru/forum/YaBB.pl?num=1153469047/1#1 ).
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: Эффективное получение итогов по группам спр. в
Ответ #19 - 23. Октября 2006 :: 06:57
Печать  
Понял.

В общем я твою идею насчет оценить эффективность новой группировки внутри ИТ поддерживаю.
Надо только по-нормальному сделать тест, на типизированных данных и внутри 1cpp.

Думаю, будет очень классно.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать