I saw larger installations (with InnoDB as the storage engine and GUID as the primary key), and there were no such problems.
As soon as all tables from the database disappeared. other mysql databases on the same server were fine, except for one - for which only data disappeared, leaving empty tables.
Tables may appear empty if the LSN below each LSN page. This can happen if the InnoDB log files are damaged. InnoDB , however, will give a warning in this case.
Selecting a query (among many slow queries) - getting the maximum value of a date column in one of the 20 m tables takes about 5 minutes to return the result. This request was used quite often.
Create an index in this column, the query will be instant.
Please post an exact request and I will tell you how to create a better index.
I do not see a problem in DB design as such, most likely it is something with your server.
Is it possible to reproduce this behavior on another server with a clean install of MySQL vanilla?
You can also try to split the data between tables. Set innodb_file_per_table and restore the backup.
source share