Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.041 c
2-1133011576
The One
2005-11-26 16:26
2005.12.11
Получение предыдущего значения параметра спомошью RegQueryValueEx


10-1109074082
vecna
2005-02-22 15:08
2005.12.11
TCrystalActiveXReportViewer


14-1132696208
Separator
2005-11-23 00:50
2005.12.11
Интересное мнение о форуме


2-1132656200
312Kbps
2005-11-22 13:43
2005.12.11
Таблица значений или проста таблица !


3-1130395498
Juice
2005-10-27 10:44
2005.12.11
Connect к MySQL через dbExpress->ODBC




   Наверх