Главная страница
    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.46 MB
Время: 0.041 c
14-1132522510
alex02
2005-11-21 00:35
2005.12.11
Помогите взять интеграл


14-1132296265
Knight
2005-11-18 09:44
2005.12.11
Спам или реальность?


6-1125481501
Nikolay Kislov
2005-08-31 13:45
2005.12.11
Как обойти конфликт между IP адресами?


2-1132935900
crazycrazymax
2005-11-25 19:25
2005.12.11
В консоли кириллица выводится криво, как это лечить?


2-1133001837
IAMDANIL
2005-11-26 13:43
2005.12.11
Почему не работает проверялка?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский