Показать сообщение отдельно
Старый 17.12.2010, 06:39
micromacro вне форума Посмотреть профиль Отправить личное сообщение для micromacro Найти все сообщения от micromacro
  № 1  
Ответить с цитированием
micromacro

Регистрация: Apr 2009
Сообщений: 56
По умолчанию Мощная работа с ArrayCollection

Здравствуйте товарищи.

Есть у меня приложение которое активно работает с базой данной.
1. При конекте клиент(флешка) подргужает все нужные ей таблицы и хранит у себя ввиде ArrayCollection.
2. Далее клиент периодически (раз в 30 секунд) спрашивает сервер: а нет ли чё новенького?
3. Сервер отвечает, да есть новенькое в таблице А, вот получи "новенькое" по таблице А за последние 30 секунд в виде ArrayCollection А_upd.
4. Клиент получает изменения A_upd и в цикле обновляет свою таблицу А.


Сталкнулся сейчас с проблемами:
1. Производительность. Например мне надо оперативно отобразить в DataGride информацию сборную из нескольких таблиц в итоге получаю вложенные циклы (2-3 уровня) по обработке больших ArrayCollection. Всё нормально работает на таблицах с 10 записями, на 1000 тормозит жёстко.
2. Целостность данных. Если апдейт будет во время работы по построению данных в датагриде, то может получиться ошибка при обработки удалённых данных.


Вопрос: как лучше сделать?

Писать микро-движёк базы данных на стороне флешки? типа индексы партиционирование "таблиц" в ArrayCollection. Делать лок при обновлении данных.