Создавать / обновлять временные метки - когда добавлять / использовать?

Мне интересно, что за таблица должна столбцы create_time а также update_time быть добавленным к?

Если у меня есть video Таблица, video_detail Таблица,tag стол и tag_video_relation Таблица.

Я знаю таблицы (такие как tag``tag_video_relation) не требуется create_time а также update_time колонка. Но как насчет video а также video_detail?

Если у меня есть миллион строк video Таблица, create_time а также update_time будет стоить много места для хранения.

Итак, в каких ситуациях и в какое время нам нужно create_time а также update_time в таблице?

1 ответ

Решение

Я обнаружил, что лучше всего добавлять поля во все таблицы, поскольку они обычно становятся полезными в будущем.

Они помогут вам исследовать проблемы и проблемы и определить, когда они произошли. Они неоценимы в диагностике и устранении проблем.

Вы можете увидеть этот подход в таких фреймворках, как Ruby On Rails, где шаблон по умолчанию ("каркас") для новой модели / таблицы автоматически включает в себя create_at и updated_at.

Что касается tag_video_relation, не нуждающегося в create_time и update_time - на самом деле я думаю, что они полезны для таких отношений. Во многих случаях способность знать, когда отношения были созданы, является полезной информацией для хранения. Столбец "updated_at" для отношения может быть одним из случаев, когда у вас нет поля обновления, если отношения только создаются или удаляются.

С точки зрения хранения, я считаю, что это тривиальная проблема, которая обычно не является проблемой современных rdmbs, таких как Oracle, SQL Server и Postgres. Они предназначены для быстрого поиска информации из миллионов строк и тысяч таблиц.

Я много лет работал над приложениями (как старыми, так и новыми технологиями) и хранилищами данных, и тенденция часто добавлять поля во многие таблицы заставила меня сформировать это мнение. Моя личная практика - просто добавить его во все таблицы, с которыми я работал. Тот факт, что фреймворки, такие как rails, используют эту концепцию, теперь кажется хорошей проверкой моей собственной практики.

Другие вопросы по тегам