MyISAM
- Default engine
- No Transaction support
- Good for Heavy data reading
- Bad for write calls: table level locking
InnoDB
- Transaction safe
- Good for Heavy write calls: row level locking
- Supports foreign keys referential integrity constraints
Is InnoDB bad for data reading??? What other storage engines should i be familar with?
No, InnoDB is not “bad” for data reading; in fact, I tend to use it as a default engine for all of my tables. Transactions and true relational features outweigh any minor read-performance benefit that you might get from MyISAM (in my opinion).
Edited to add: MyISAM is faster than InnoDB because it is simpler. But, unless you’re doing some really high-volume stuff or are using an ancient machine as your database server, you’re not likely to see a difference in daily operation.
Other storage engines to be familiar with are
Memoryfor really fast, non-persistent data storage andCSVwhich I will use on occasion as part of data export processes.This page has a comprehensive overview of MySQL Storage Engines.