Текущий архив: 2005.12.11;
Скачать: CL | DM;
ВнизИндекс по TAggregateField Найти похожие ветки
← →
Juice © (2005-10-20 19:05) [0]Возможно ли построить индекс по агрегатному полю типа TAggregateField, другими словами упорядочить ClientDataSet по этому полю ?
← →
evvcom © (2005-10-21 09:25) [1]А ClientDataSet ты откуда заполняешь?
← →
Juice © (2005-10-21 10:14) [2]
> А ClientDataSet ты откуда заполняешь?
Копирую провайдером из другого датасета, а тот в свою очередь из TSQLDataSet. Разве это имеет значение ?
← →
evvcom © (2005-10-21 10:26) [3]
> Разве это имеет значение?
Конечно. Не проще ли в TSQLDataSet написать запрос, который возвращал бы в наборе это аггрегированное поле с сортировкой по нему же?
Если будут вопросы типа "как", то СУБД указать не помешало бы.
← →
Juice © (2005-10-24 10:34) [4]
> Не проще ли в TSQLDataSet написать запрос, который возвращал
> бы в наборе это аггрегированное поле с сортировкой по нему
> же?
Написать-то просто, но ... Сами CDS (как первый так и второй) это лишь компонены-потомки CDS, на самом деле при помощи опр. методов первый открывает TSQLDataSet а потом производит опр. локальные операции с ним (много) а затем второй также с помощью вызова его метода копирует данные из первого потомка CDS и также производит локальные вычисления. И вот теперь желательно построить локальный индекс по агрегату второго клиент-датасета. Почему локально ? Это тема косвенно обсуждалась в параллельной ветке :) Сами наборы данных незначительные, пару сотен строк, но извлекаются достаточно долго - до нескольких минут. Таким образом, делать несколько последовательных запросов (а это еще не вся цепочка - их 4 на самом деле) будет очень долго, а кроме того необходимые вычисления довольно таки "процессорно-прожорливые" и производятся на клиентской части гораздо быстрее чем на сервере в виде ХП, даже при одном клиентском запросе! О скорости выполн. нескольких паралельных и говорить даже не стоит. Вот такие обстоят дела. Я конечно сомневаюсь, что можно этот индекс сделать однако может кто-то уже с такой задачей сталкивался, не пожалел как я времени и готов нахаляву поделиться своим решением.
Страницы: 1 вся ветка
Текущий архив: 2005.12.11;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.041 c