Чтобы эффективно поддерживать синхронизацию коллекции приложений с базой данных, не загружая каждый раз одни и те же многочисленные записи, я могу использовать поля базы данных datetime "LastModified" с триггером таблицы. Триггер таблицы обновляет поля «LastModified» при операциях обновления или вставки базы данных, а затем я могу предоставить запрос базы данных с последним использованным значением временной метки для загрузки только тех записей, которые имеют значения метки времени позже, чем предоставленный параметр.

Вышеупомянутый метод помогает сохранить небольшой объем обмена данными, но есть проблема: записи, удаленные в базе данных, остаются в коллекции приложения.

Как проверить, какие записи удаляются в базе данных для соответствующего обновления коллекции приложения, чтобы данные о трафике были как можно меньше?

2
rem 22 Мар 2013 в 13:12
Не могли бы вы использовать отслеживание Google Analytics в коде на стороне сервера, чтобы отслеживать, когда происходят удаления, а затем использовать эти данные для обновления коллекции
 – 
cdugga
22 Мар 2013 в 13:15
В моем случае это настольное приложение и база данных, которые можно установить в интрасети, поэтому я думаю, что нет.
 – 
rem
22 Мар 2013 в 13:23
Сколько у вас рядов?
 – 
ken2k
22 Мар 2013 в 13:25
В этом случае - до 20000
 – 
rem
22 Мар 2013 в 13:28

1 ответ

Лучший ответ

Вам нужен триггер таблицы, который будет вызываться при удалении. Когда этот триггер вызывается, он записывает в другую таблицу отслеживания индекс и временную метку удаления. При следующей синхронизации вам просто нужно получить все индексы для удаления с даты последнего изменения из этой таблицы.

Возможно, вам стоит взглянуть на Microsoft Sync Framework. Он создаст все необходимые таблицы и триггеры в базе данных, чтобы отслеживать изменения, внесенные с момента последней синхронизации. Просто следуйте этому примеру, а затем загляните в свою базу данных. Вы должны легко увидеть все добавленные таблицы и триггеры, которые они используют для отслеживания всех изменений.

1
Oliver 22 Мар 2013 в 13:25