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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
14-1086124772
FRick
2004-06-02 01:19
2004.06.20
Яркость монитора


6-1083240852
-+= Evgeney =+-
2004-04-29 16:14
2004.06.20
ServerSocket


3-1085659592
dimm22
2004-05-27 16:06
2004.06.20
Подключаюсь к БД Access+Excel с помощью Microsoft.Jet.OLEDB.4.0


3-1085552535
alexa777
2004-05-26 10:22
2004.06.20
Внешний вид формы


1-1086706135
hgd
2004-06-08 18:48
2004.06.20
Перевод цветов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский