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:
ENGINE | ADVANTAGES | DISADVANTAGES |
---|---|---|
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 |
Comments
No comments have been made yet.
Please login to leave a comment. Login now