Agreed with above. Be very careful to avoid premature optimization by denormalization here.
Don't use "SELECT *". More fields means more disk reads.
Make sure you are using covering indexes - i.e. you can get all your requested field values from the index without going to the data table. Double check that you aren't reading record data.
Test, Test Test.
If possible, use a write-only table (i.e. no updates and no deletes) so mysql isn't reusing deleted spaces and refilling indexes.
Make sure indexed fields are as short as possible (but no shorter.)
EDIT: Some more things have come to mind ...
Standard (and fastest) MyISAM table types don't have any way to maintain records in any sequence other than insertion order (modified by filling deleted rows) - i.e. no clustered indexes. But you can fake it if you periodically copy/rebuild the table based on an index that's useful for grouping associated records in the same page. Sure new records won't comply, but 98% of table efficiency is better than the default.
Become intimately familiar with the configuration settings, especially cache sizes. In fact, to make it easy, don't worry about any other settings than the cache sizes (and understand what they each are).
Become intimately familiar with the info in the stats log, as it applies to the effectiveness of the config cache settings.
Run the "slow query log" all the time. It's low overhead, and it's the first stop in all remediation.
This goes without saying, but don't run anything but the database on the same server. One big reason is to be able to optimize resources for the database only.
DO NOT denormalize until things are about to fall apart.
Non-negotiables.
Everything above this line is questionable advice. Never take any advice without understanding it and testing it. There are two sides to every design decision; and the MySQL online advice is worse than average at making generalizations without qualification and without scaling the benefits and penalties. Question everything I've noted here, as well. Understand what you're doing, why you are doing it, and what advantages you expect to get. Measure the changes to see if what was expected was what happened.
Never, never "try some things to see what happens". Doing so is like tuning a car with multiple carburetors, except worse. If what you expected didn't happen, back out the change and either figure it out, or work on something else you do understand. Sleep is your friend; much of this will come to you overnight after hard sessions of testing.
You'll never understand it all; you'll always need to learn more than you know. Always ask "Why" and "What's your proof". (Often it's something someone read that doesn't apply to your situation.)