Frequent MySQL table corruptions and instability The database I'm working on is having frequent issues. 

Almost every day there is a problem. 

Things like tables crashing or becoming corrupt. 

So far, they've been repairable in one way or another, however I'm curious what the cause is exactly. 

Bad hardware is always a possibility, but because I'm using Amazon's Web Services, I'm doubtful that is the case. 

I've been monitoring the CPU usage on the machine and I've noticed that it frequently maxes out. On average, it hovers around 40%, but has frequent spikes. 

Would constant high usage be a cause for my issues? If so, what is a good way of handling the high usage apart from optimizing queries; I'm currently working on that and the high usage is likely to stay.  Would replication be beneficial?

EDIT -- I went ahead and bit the bullet and decided to upgrade the resources. So far, I've been able to run all my queries without any issues. It looks like I was just working it too hard.
High CPU usually means inefficient queries.  Let's see the slow queries, together with SHOW CREATE TABLE and EXPLAIN.

The solution may be as simple as adding an index.  Or perhaps reformulating the query.  A common inefficiency is using a subquery instead of a JOIN.

You can't tune your way out of CPU troubles.  Throwing hardware at it is, at best, a temporary solution.