M
M
mihalich40402015-11-07 11:50:53
PHP
mihalich4040, 2015-11-07 11:50:53

Where to store the data of deleted records in the database?

Подскажите, пожалуйста, есть база на 500тыс записей. В сутки примерно 1тыс удаляется, 1тыс добавляется. Сейчас старые данные просто удаляются, но появилась необходимость просматривать то что было удаленно. Поэтому думаю лучше копировать запись из основой базы в отдельную "базу для удаленных" и удалять из основной (1) или ставить статус deleted = 1 в основной базе и оставлять (2).
Но так получается, что база будет постоянно расти и теоретически нагрузка будет увеличиваться, а производительность уменьшаться. Удаленные записи уже никак не будет использоваться. Только иногда просмотреть. Что то вроде системы логов.

Answer the question

In order to leave comments, you need to log in

4 answer(s)
A
Alexey, 2015-11-07
@mihalich4040

It is better to add the deleted field to the tables and write a separate procedure for displaying the deleted ones.

V
Vahe, 2015-11-07
@vahe_2000

There is a similar question SEE AND HERE.
-------------------------------------------------- -----
What is the right way to deal with unnecessary records in the database...

R
Ruslan Fedoseev, 2015-11-07
@martin74ua

bases - they always grow;)
Better - mark. You don't need them right now. But the day after tomorrow, you suddenly need to do some kind of analytics ....

I
Idel Gizatullin, 2015-11-07
@idelg

When an object is deleted, the time of deletion is recorded in the deleted_at column, and filters are applied everywhere in the model so as not to display deleted objects. To get remote objects, it is better to create a separate scope.
I like how this is implemented in Laravel, you can look at the details in the documentation .
As for MySQL, there is an option to restore recently deleted objects from the logs :
mysqlbinlog binary_log_file > query_log.sql

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question