What is the maximum number of tables that MySQL can handle?
Contrary to Daniel Vassallo's answer, I have a use case where a large number of tables is needed. I could be wrong, but I don't think there is any "best practice" by which I could reduce the number of tables.
Although it is probably correct that the number of tables is only limited by the OS, I just want to add that I am using well over 1000 tables in a database with pretty good performance. The only downside seems to be increased overhead for the .frm files. In my case, I have split a very large table into 1000+ separate tables with the same table structure. MySQL partitioning was not an option for me because of denormalization, which requires 2 copies of each record in separate tables.