Agreed above. Be very careful to avoid premature optimization by denormalizing here.
Do not use "SELECT *". Additional fields mean more reading on disk.
Make sure you use coverage indexes, i.e. You can get all the requested field values from the index without going to the data table. Double check that you are not reading the record data.
Test, test test.
If possible, use a table for writing only (i.e. no updates or deletes), so mysql does not reuse deleted spaces and populates indexes.
Make sure the indexed fields are as short as possible (but not shorter.)
EDIT: something else came to mind ...
The standard (and fastest) MyISAM table types do not have the ability to maintain records in any sequence other than the insertion order (changed by filling in deleted rows), that is, without clustered indexes. But you can fake it if you periodically copy / rearrange the table based on an index useful for grouping related records on one page. Of course, the new records will not match, but 98% of the table efficiency is better than the default value.
Carefully read the configuration settings, especially the cache size. In fact, to make this easy, don’t worry about any settings other than cache sizes (and understand what they are).
Read the statistics log carefully, as it relates to the effectiveness of the configuration cache settings.
Run the "slow query log" all the time. This is low overhead, and this is the first stop in all the fixes.
This goes without saying, but do not run anything other than a database on the same server. One of the main reasons is to optimize resources only for the database.
DO NOT denormalize until something falls apart.
Non-negotiation issues.
Anything above this line is dubious advice. Never take any advice without understanding this and testing it. There are two sides to each design decision; and MySQL online consultation is worse than average when generalizing without qualifications and without scaling benefits and fines. Answer everything that I noticed here. Understand what you do, why you do it, and what benefits you expect to receive. Measure changes to see what happened.
Never, never "try to see something that is happening." This is similar to tuning a car with several carburetors, except that it is worse. If what you expected did not happen, discard the changes and either find out or work on something else that you understand. Sleep is your friend; Most of this will come to you the night after heavy testing sessions.
You will never understand all this; you always need to learn more than you know. Always ask "Why" and "What is your proof." (Often this is something read that does not apply to your situation.)