How best to organize the data tables with a large number of items in MySQL?

How best to organize the tables with high cardinality in MySQL?
There is an abstract object and it has its own ID. With this object are the events (in my case crash on machines). When the event comes to the host, it is assumed that it is processed and is recorded in a table. Per month a few 10 cov thousand events. Refer to them often have. Resources on a host are limited to 2 cores 4 GB operatives. How better for performance?
1)Make 1 table in there and record and the event data and the object data.
2)Or make 2 tables one for events and another for objects. For the second table, I understand you have to check whether there is data with such ID already there, and too many objects will have a few dozen thousand
3) Or make 3 tables. 1 where will be used to record temporal data ,2 and 3 of the table in paragraph 2 there the data will be migrated gradually not to waste resources
June 14th 19 at 18:59
2 answers
June 14th 19 at 19:01
1. Without any serious reason, you should always start with 3rd normal form. In this case, the variant with 2 tables.
2. Tens of thousands of records per month - it does not even load for the specified configuration.
June 14th 19 at 19:03
To understand the principles of how to store large quantities in a DB, I recommend to read a good article Scaling the database through sortirovanie and p...
Thanks for the link, thought of sharing tables. I did not think that all so is simple. Save up the data, determine the conditions and use protezirovanie - nikita.Stracke commented on June 14th 19 at 19:06

Find more questions by tags Database administrationMySQL