Излишне ли добавлять столбец last_modified во все таблицы? - PullRequest
3 голосов
/ 22 октября 2009

При разработке таблиц базы данных для нового нового проекта рекомендуется ли добавлять столбец last_modified, который автоматически обновляется, для каждой таблицы?

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

Этот столбец может иметь несколько применений, один из которых предназначен для помощи с кэшированием. Но неужели просто бросать такой столбец в каждую таблицу?

Кроме того, есть ли другие полезные причины иметь столбец last_modified?

Это относится только к MySQL , поскольку это единственная система, которую я использую.

Ответы [ 4 ]

2 голосов
/ 22 октября 2009

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

Я предпочитаю иметь контрольные таблицы для моих важных таблиц.

2 голосов
/ 22 октября 2009

Это зависит!

Вам нужно знать дату last_modified для каждой таблицы? Если это так, то вам нужен этот столбец.

обслуживать домен, а потом беспокоиться о производительности, UNLESS вы знаете, что у вас будет безумное количество INSERTS / UPDATES в этой таблице ...

1 голос
/ 22 октября 2009

Зачем тебе это?

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

Обычно это вообще бесполезно в тех случаях, когда данные статичны или когда они обновляются из пакетного процесса (например, импорта), а не из пользовательского интерфейса. Зачем беспокоиться, например, о том, что такое в таблицах поиска?

0 голосов
/ 22 октября 2009

Ну, я бы сказал, у вас должен быть этот столбец для таблиц, в которых записи часто меняются при каких-либо действиях пользователя. И, кроме того, если у вас установлена ​​аутентификация, полезно сохранить, кто внес изменения. Это также может избавить вас от горя, когда кто-то обращается к вам с вопросом, кто внес некоторые изменения в запись, потому что что-то сломано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...