Storage engines or table types in MySQL are used to define how a database table will store data and each storage engine has advantages and disadvantages. Please note than only two engine types that are commonly used for large databases are MyISAM and InnoDB; other types are mostly used for auxiliary operations, data backup, or similar.

Here is the list of engines MySQL recognizes:

Storage engines

MyISAM Transferrable between platforms, may be compressed, able to repair errors, large storage capacity, fast Not transaction friendly
InnoDB Best overall performance, ACID-compliant, supports transactions, portable between platforms Smaller storage capacity then MyISAM
MERGE Merges multiple tables, uses other tables indexes Virtual table, does not support indexing itself
MEMORY (HEAP) Faster than MyISAM because it's stored in cache memory Short lifetime depending on server
ARCHIVE Storing large number of records, compressed records (saving space) Does not support indexing, allows only INSERT and SELECT statements
BLACKHOLE Accepts data without storing them, may be used as data repeaters or filters Does not support UPDATE or DELETE statements (only INSERT)
CSV Convenient for data migration to and from non-SQL applications (i.e. MS Office) Does not support indexes and NULL data types
FEDERATED Allows data managing from remote MySQL server, without clusters or replications Does not store data itself