Снегопат

Обсуждение Снегопата
Текущее время: 27 апр 2024, 21:04

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 05 дек 2012, 10:46 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Т.е. вы выгружали в ТЗ и далее, накладывали отбор по конкретным контрагентам, вставляли сумму в первую строку, там же "продолжить".
У меня как бы тоже эта таблица практически последняя, именно она уже должна пойти в регистр на запись.
Меня просто смущает, что отбор по ТЗ будет тоже не шибко быстро работать на больших объемах данных. Это в данном пример ключ - "Контрагент", в реальной задаче это тоже ключ по нескольким полям, а у нас в 8-ке нет ИндескированнойТаблицы, которая бы могла построить единый индекс по нескольким полям. Вот этот момент меня и смущает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 06 дек 2012, 07:56 
Не в сети

Зарегистрирован: 23 ноя 2012, 07:01
Сообщения: 15
Хм, а метод ТаблицаЗначений.Индексы.Добавить("Поле1,Поле2") разве не дает составной индекс?

В одном запросе вроде должно получиться через поиск максимума первого измерения для контрагента, потом поиск максимума второго измерения для сочетания контрагент+найденый максимум первого измерения и т.д. Получим таблицу в которой одна строка для каждого контрагента.
Не знаю насколько такой подход оптимален...

Можно отсортировать таблицу по контрагенту, обойти проверяя что контрагент изменился, накопить таблицу из первых строк.

Ну или через СКД ограничить выборку детальных записей.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 06 дек 2012, 08:03 
Не в сети

Зарегистрирован: 24 авг 2011, 15:32
Сообщения: 722
Kir писал(а):
Хм, а метод ТаблицаЗначений.Индексы.Добавить("Поле1,Поле2") разве не дает составной индекс?

Да, наверное дает. Ступил.
Kir писал(а):
В одном запросе вроде должно получиться через поиск максимума первого измерения для контрагента, потом поиск максимума второго измерения для сочетания контрагент+найденый максимум первого измерения и т.д. Получим таблицу в которой одна строка для каждого контрагента.
Не знаю насколько такой подход оптимален...

Это первое что приходит на ум и об этом я сразу и написал. Но чем больше таких полей, тем больше вложенность, соот-но и производительность падает.
У себя пока так и оставил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помогите с запросом
СообщениеДобавлено: 18 фев 2013, 15:35 
Не в сети

Зарегистрирован: 11 фев 2013, 08:57
Сообщения: 4
Такой вариант:
делается втРасходыМин (или Макс): группировка по контрагенту, по остальным полям минимум или максимум.
К этой таблице присоединяется втДолги по контрагенту.
Результат соединения присоединяется к втРасходы по всем полям втРасходы


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 14 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB