Я ищу гибкую схему базы данных MySQL для сохранения журналов.
В настоящее время я использую эту схему (упрощенно для примера).
![Loggin](https://i.stack.imgur.com/b6NC9.png)
Большая версия: http://i.stack.imgur.com/b6NC9.png
Я могу сделать select * from log
, получить log_type и прочитать конкретную таблицу.Если тег log_type: user, определенная таблица будет называться log_user.
Чтобы добавить журналы для приложения, я добавлю тег приложения в log_type
и создам новую таблицу log_application
.
Чтобы прочитать все журналы для пользователя, я делаю выбор SELECT * FROM log_user INNER JOIN log ON log_user.logid=log.id WHERE userid=123
.
Это на самом деле работает очень хорошо и гибко. Тем не менее, мне было бы интересно, если у кого-то есть лучшая идея для такой схемы базы данных.