I'm creating a service like FriendFeed. For the database, what's the best to have the tables with InnoDB or MyISAM?

  • There are a lot of selects and Inserts.
  • The table must be serchable, sortable when a user is inserting something.
  • At the end, it must have quite a lot of rows. (Depending on the table).
  • First, the database will be in one server.
  • I would like backup without locking the tables.



MyISAM won't allow you to backup without locking the tables on an unique server (without slave), and any insert will also locks the table... so you should choose InnoDB


Only MyISAM supports mysql full-text search, whereas InnoDB supports foreign keys and such. Both sure are interesting for what you want to achieve.

If you can't decide, why not try a mix of both, combining their strengths by applying them selectively on tables where their respective qualities are needed ?

  • Not only MyISAM, Sphinx too :) – sumar Sep 23 '10 at 12:27

MyISAM is better for read-heavy tables and InnoDB is better for write-heavy table. If you have a mix of reads and writes, and if it's possible to design your writes to use only 1 key read, then MyISAM would be better.

Not sure about the back-up part however. Does copying the database files in the filesystem directly work for you?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.