Сортировка BrowseBox'a - RELOAD

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте уважаемые постетители форума!

Хотелось бы вновь вернуться к субж.

А именно вот такая проблема:

Имеется некоторая таблица (Primary) содержащая скажем два поля:
Code - шифр
Title - строковая
Пусть для обоих полей имеются соотвествующие ключи. Причем по Code - Primary, автонумерация, уникальное.

С ней в связи 1 ко многим состит другая таблица:
Code - шифр из первой.
RazdelCode - некоторый шифр раздела.

Задача: Вывести записи первой таблицы в BrowseBox'е отсортированному по Title в соотвествии с определенным значением RazdelCode из второй таблицы.

Каким образом данную задачу можно решить оптимальным образом ?

Пробовал два варианта, но скорость не устраивает в обоих случаях:
1) По ключу для RazdelCode в таблице 2 перебираются все записи, cоотвествующие выбранному значению. По связи из таблицы 1 берутся значения Title.
После этого использовал ORDER по полю Title. Быстро работает для малого кол-ва записей. При большом кол-ве (>1000) значительная задержка.
2) Перебираются все записи таблицы 1, по связи с таблицей 2 через FILTER для RazdelCode отбираются нужные записи.
Здесь, наоборот, когда много записей - то все работает быстро.
Однако, если в таблице 1 записей много, а в выбранном разделе записией мало, то задержка, существенная ( нужно быстрее).

Какие еще могут быть варианты ?

--
Mfg,
Anton mailto:ustim@web.de
Написал: ClaList(2)
Ответить