Архитектурные подходы использования чужих данных бывают разные, рассмотрим некоторые из них.
Представим ситуацию, когда наше приложение генерирует или получает данные из стороннего приложения
Подход реализуется добавлением в таблицу поля с версией данных, в результате стратегия обновление данных выглядит так:
table_nameМинусы:
table_name в 2 раза в момент обновления данных в нейtable_name при появлении новых данных и удалении старых данныхtable_name что может сказаться на скорости работы приложенияИтог: это отличный подход, когда нет возможности обновить таблицу полностью (когда есть возможность обновлять таблицу частями).
Подход реализуется созданием новой таблицы table_name_tmp, заполнением ее, подмена текущей таблицы на новую.
table_name_tmp;table_name_tmptable_name RENAME TO table_name_old;table_name_tmp RENAME TO table_name;table_name_old RENAME TO table_name_tmp;Можно применить оптимизацию: перед заполнением table_name_tmp отключить индексы и констрейнты, после заполнения - включить.
Плюсы:
Минусы:
Итог: это отличный подход, когда есть возможность полностью обновить таблицу, т.к. проще чем подход "Поле версии".
Комментарии
Комментариев пока нет.