Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.20;
Скачать: CL | DM;

Вниз

TClientDataSet в действии   Найти похожие ветки 

 
minstrel   (2004-05-27 17:21) [0]

День добрый!
Прошу проанализировать 2 пути решения и выбрать более оптимальный.

Имеется сервер приложений (SRVR), клиентские приложения (CLNT).
Пропускной канал между SRVR и CLNT не превышает 128KB.
Используется технология MIDAS. Доступ к данным из CLNT производится посредством TClientDataSet (CDS).
Есть таблица задающая некоторую древовидную структуру (DBCAT) и некоторый набор справочников, ссылающихся на эту таблицу.
Пример - таблица товаров (TOVARY) ссылается на DBCAT и, т.о., выделяются категории товаров.
2 варианта:
1) для таблицы товаров завести 1 CDS и использовать стандартный механизм докачки;
2) для каждой категории товаров завести отдельный CDS и иметь возможность использовать (или нет) докачку (вроде бы открывается возможность работать со справочником локально).
Для справочников весьма часты операции поиска, фильтрации, сортировки.
Будет ли выигрыш и можно ли его добиться при использовании подхода (2)?


 
Clickmaker ©   (2004-05-27 17:28) [1]

один CDS + фильтр по категории на уровне SQL запроса


 
Sandman25+1   (2004-05-27 17:31) [2]

Если количество категорий постоянно растет, то будет большая нагрузка на сервер в плане требований к памяти. Представьте себе 20 пользователей, для каждый из которых создано 30 clientdataset только для категорий...


 
Sandman25+1   (2004-05-27 17:31) [3]

Кстати, справочники лучше сохранять локально и перечитывать по явному требованию.


 
minstrel   (2004-05-27 17:40) [4]

>Clickmaker:
если я буду менять sql-запрос, то докачка работать не будет.

>Sandman25+1:
справочники довольно велики, пользователей довольно много => хранить справочники локально вряд ли удастся.
нагрузка на сервер будет во втором случае на мой взгляд меньше, после полной выгрузки категории, TOracleDataSet (ODS) можено удалять а с CDS работать на стороне клиента, выполняя уже локально поиски, фильтры,.. Разве нет?


 
minstrel   (2004-05-27 18:34) [5]

Может кто ответит (или скажет: "N-й метод однозначно лучше")...
есть таблица с данными поля ID=1..100;
CDS->PacketRecords = 20;
1) производится выборка из этой таблицы;
2) указавается условие в фильтре (ID>15 and ID<25);
3) указавается условие в фильтре (ID>14 and ID<24);
Сколько записей будет получено с сервера при 3-м обращении и сколько всего записей будет храниться на клиенте после 2-го шага,
после 3-го шага, после указания сортировки в обратном направлении?


 
Sandman25+1   (2004-05-28 08:59) [6]

Посмотрите раздел Supporting state information in remote data modules в DevGuide: Developing Datapase Applications



Страницы: 1 вся ветка

Текущий архив: 2004.06.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.069 c
1-1086285993
user_1
2004-06-03 22:06
2004.06.20
содержимое буфера обмена


4-1084597907
Seldon
2004-05-15 09:11
2004.06.20
Кнопка на taskbar и Caption формы


1-1086448251
Kostya
2004-06-05 19:10
2004.06.20
Progress Bar


3-1085730819
DimonNew
2004-05-28 11:53
2004.06.20
Binary


3-1085629459
Victor_A
2004-05-27 07:44
2004.06.20
Вопрос По Fastreport V.2.52