Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.12.11;
Скачать: [xml.tar.bz2];

Вниз

Индекс по 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.04 c
4-1129138447
Конст
2005-10-12 21:34
2005.12.11
FormatMessage и освобожение буфера


1-1131901522
Sam Stone
2005-11-13 20:05
2005.12.11
Сохранение связей объектов


3-1129734581
Павел
2005-10-19 19:09
2005.12.11
Зависание клиентов


2-1133111316
Volfram
2005-11-27 20:08
2005.12.11
TDrawGrid


14-1131899671
default
2005-11-13 19:34
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский