Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why use InnoDB over MySIAM [duplicate]

Possible Duplicate:
Should I always prefer MySQL InnoDB over MyISAM?

Under what conditions should InnoDB be used over MyISAM ? I've seen some MySQL optimization tests where MyISAM proves to be faster. All of my tables are MyISAM, so why should I switch to InnoDB?

like image 905
Webnet Avatar asked Nov 22 '10 15:11

Webnet


2 Answers

Pros & Cons of InnoDB & MyISAM -

  1. InnoDB recovers from a crash or other unexpected shutdown by replaying its logs.
  2. InnoDB can be run in a mode where it has lower reliability but in some cases higher performance.
  3. InnoDB automatically groups together multiple concurrent inserts and flushes them to disk at the same time.
  4. InnoDB flushes the transaction log after each transaction, greatly improving reliability.
  5. Unlike InnoDB, MyISAM has built-in full-text search
  6. MyISAM is still widely used in web applications as it has traditionally been perceived as faster than InnoDB in situations where most DB access is reads.
  7. While writing/updating data into a InnoDB table, only that particular row is locked, whereas in MyISAM the entire table is locked.
  8. InnoDB provides Full Transaction support.
like image 162
Srikar Appalaraju Avatar answered Oct 05 '22 23:10

Srikar Appalaraju


How about transactions and concurrent read/writes? Crash recovery is better as well. There are some features that are only available using MyISAM, like full text search, but unless you need these, I would go with InnoDB.

like image 36
Joshua Martell Avatar answered Oct 06 '22 01:10

Joshua Martell