myISAM to innoDB conversion

Hi

I have existing mySql database which now use myISAM engine. I lately start to experience some performance issues, due the large numbers of concurrent users on the website, and I would like to switch the database to innoDB engine.

Database has about 35 tables full with data.
My Questions are:

  1. If i go to phpMyAdmin, and change all the tables from myISAM to innoDB, can I cause some mess in the existing data?

  2. I read somewhere that myISAM lock the tables and excecute the update queries one by one, and that innoDB does not use locks. Is that true?

  3. If I use the innoDB, will those update queries be performed faster?

  4. If i add indexes on columns , that I frequently use in my select and update queries, will those updates and searches be performed faster with innoDB compared with myISAM?

  5. I have primary keys in all tables. Will those primary keys continue to work after I switch the engine, or I have to re-create them.

Any links where I can read how can I perform all those changes trough phpMyAdmin will be deeply appreciated.

Regards, Zoreli

1. If i go to phpMyAdmin, and change all the tables from myISAM to innoDB, can I cause some mess in the existing data?

no :slight_smile:

2. I read somewhere that myISAM lock the tables and excecute the update queries one by one, and that innoDB does not use locks. Is that true?

not quite true – myisam locks the entire table, but innodb locks only the row(s) affected

3. If I use the innoDB, will those update queries be performed faster?

yup :slight_smile:

4. If i add indexes on columns , that I frequently use in my select and update queries, will those updates and searches be performed faster with innoDB compared with myISAM?

searches no, updates yes

5. I have primary keys in all tables. Will those primary keys continue to work after I switch the engine,

yup :slight_smile:

Any links where I can read how can I perform all those changes trough phpMyAdmin will be deeply appreciated.

link not necessary, just run this query in the SQL tab –


ALTER TABLE foo ENGINE=innodb

:slight_smile:

Hi r937

Thanks a lot for sharing your knowledge and spending your time to answer my questions.

Regards, Zoreli