I have a site with a decently big database, 3Gb in size, a couple of tables with a dozen million records.
It's currently 100% on MyISAM, and I have the feeling that the server is going slower than it should because of too much locking, so I'd like to try going to InnoDB and see if that makes things better. However, I need to do that directly in production, because obviously without load this doesn't make any difference.
However, I'm a bit worried about this, because InnoDB actually has potential to be slower, so the question is:
If I convert all tables to InnoDB and it turns out i'm worse off than before, can I go back to MyISAM without losing anything?
Can you think of any problems I might encounter? (For example, I know that InnoDB stores all data in ONE big file that only gets bigger, can this be a problem?)
Thank you very much
Daniel
I tried to change the DB engine several times in mysql, and I did not face any problems.
However, I prefer to do it on a testing machine. You need just to export the database and import it on the testing machine. You can then change the engine and check for errors/warnings/data loss if any. For generating the load, you can create your own script to simulate a real load, or you can use an existing tool to do it. For this point, you have to use a machine that is powerful enough to judge the performance in a reasonable way.