What are the different storage engines in MySQL?

Beginner

Answer

MySQL supports multiple storage engines, each optimized for different use cases:

  • InnoDB (Default): ACID-compliant, supports foreign keys, row-level locking, crash recovery
  • MyISAM: Table-level locking, faster for read-heavy workloads, no foreign key support
  • Memory/HEAP: Stores data in RAM, very fast but volatile
  • Archive: Compressed storage for archival data, insert and select only
  • CSV: Stores data in CSV format, useful for data exchange
  • Federated: Access remote MySQL tables as local tables
  • NDB: Clustered storage engine for MySQL Cluster

Example to check storage engine:

SHOW TABLE STATUS WHERE Name = 'table_name';