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

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



Память: 0.46 MB
Время: 0.023 c
1-1085493215
Виноградов Алексей
2004-05-25 17:53
2004.06.20
Файл текстового типа (textfile). Как узнать его размер ?


1-1086703288
Tack83
2004-06-08 18:01
2004.06.20
Вызов DLL, написанной в C++


1-1086463585
san
2004-06-05 23:26
2004.06.20
Совместимость отчетов


3-1085571485
den_777
2004-05-26 15:38
2004.06.20
Уникальные индексы и констрейнты


3-1085492325
Князев Сергей
2004-05-25 17:38
2004.06.20
FireBird 1.03.972 подключение и просмотр базы




   Наверх