В одной из баз данных нашего клиента есть несколько стоп-кадров, которые суммируют полезную информацию из многих других таблиц (например, каково было состояние каждого клиента за каждый период и т. Д.), ,Таблицы моментальных снимков с внешними ключами и стоп-кадры с реальными значениями
Однако стоп-кадры содержат главным образом внешние ключи к их оригинальным таблицам. Поэтому, чтобы получить полезную информацию о снимке, мы должны присоединиться к ним несколько раз к их соответствующим таблицам. И эти объединения часто занимают очень много времени. С другой стороны, добавление индексов ко всем столбцам FL
в базах данных (или, по крайней мере, в столбцах в разделах WHERE
в наших запросах) значительно замедляет работу базы данных.
Итак, мой вопрос: не лучше ли иметь таблицы снимков с реальными значениями вместо внешних ключей? И если ответ отрицательный, не будет ли он превзойти цель снимков, если исходные таблицы будут обновлены (например, если имя было вызвано «Свеча», а теперь «Лампа», конечно, моментальный снимок остается неизменным, но действительно ли это снимок в этом case?)
Спросите себя: что произойдет, если некоторые записи будут удалены? Снимок, содержащий FK, больше не будет использоваться – lokusking
@ lokusking. Разве не имело бы смысла иметь реальные ценности? – Disasterkid
Это единственное, что имеет смысл imo. – lokusking