Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.11 c
14-1132552889
Ega23
2005-11-21 09:01
2005.12.11
С днем рождения! 21 ноября


4-1124891807
Dr.Nemo
2005-08-24 17:56
2005.12.11
Как подловить запуск приложения


14-1132263399
ronyn
2005-11-18 00:36
2005.12.11
Инициализация модема (Linux)


3-1130151141
Weter
2005-10-24 14:52
2005.12.11
Рациональное обновление набора данных.


3-1130403953
Zhekson
2005-10-27 13:05
2005.12.11
(Сохранение базы)Invalid File Name