![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2009
Сообщений: 56
|
Здравствуйте товарищи.
Есть у меня приложение которое активно работает с базой данной. 1. При конекте клиент(флешка) подргужает все нужные ей таблицы и хранит у себя ввиде ArrayCollection. 2. Далее клиент периодически (раз в 30 секунд) спрашивает сервер: а нет ли чё новенького? 3. Сервер отвечает, да есть новенькое в таблице А, вот получи "новенькое" по таблице А за последние 30 секунд в виде ArrayCollection А_upd. 4. Клиент получает изменения A_upd и в цикле обновляет свою таблицу А. Сталкнулся сейчас с проблемами: 1. Производительность. Например мне надо оперативно отобразить в DataGride информацию сборную из нескольких таблиц в итоге получаю вложенные циклы (2-3 уровня) по обработке больших ArrayCollection. Всё нормально работает на таблицах с 10 записями, на 1000 тормозит жёстко. 2. Целостность данных. Если апдейт будет во время работы по построению данных в датагриде, то может получиться ошибка при обработки удалённых данных. Вопрос: как лучше сделать? ![]() Писать микро-движёк базы данных на стороне флешки? типа индексы партиционирование "таблиц" в ArrayCollection. Делать лок при обновлении данных. |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|