My project has an "Activity Monitor" that monitors the activity of a user.
Currently the way it works is, I have a method called LogActivity
and it submits the data to the database. I call this method when a user has a new session start, when a user registers, when they update their profile, etc. Basically there are 3 or 4 different actions that get logged, so I'm storing it as so
ID | UserID | Activity | Date
The activity field has the same data put in every time
- new account created
- new session started
- account updated
- event posted
- event voted
- comment left
- comment voted
since that could end up taking up a lot of data, would I be better off having a separate table with that info and joining it to the table? if so, do I just enter the ID of the new table manually to the "ActivityID" of the existing table?
What is the best way to achieve the desired outcome without filling up the database with redundant content?