Storage Engines MySQL - aeggermont/datastores GitHub Wiki

The Basics

This page documents two storage engines most commonly used in MySQL: innoDb and MyISAM.

MyISAM

  • It is the older of the two engines. The main features are the following:
  • Good engine for a read only workload
  • Supports FULLTEXT data type which allows very fast searches of large quantities of text data.
  • It is only capable of locking an entire table for writing. This means only one process can update a table at a time.
  • It lacks of journaling which makes things difficult to recover

InnoDB

  • It is more a modern database engine, designed to be ACID compliant which guarantees database transactions to be processes reliably.
  • Write locking can occur on a row level basis within a table. This means multiple updates can occur on a single table simultaneously.
  • Data caching is handled in memory within the database engine. allowing caching on a more efficient row level basis rather than file block.
  • Transactions are journaled independently of the main tables. This allows for much reliable recovery as data consistency can be checked.