The various storage engines provided with MySQL are designed with different use-cases in mind. To use the pluggable storage architecture effectively, it is good to have an idea of the advantages and disadvantages of the various storage engines. The following table provides an overview of some storage engines provided with MySQL:
Feature | MyISAM | Memory | InnoDB | Archive | NDB |
Storage limits | 256TB | Yes | 64TB | No | 384EB [a] |
Transactions | No | No | Yes | No | Yes |
Locking granularity | Table | Table | Row | Row | Row |
MVCC (snapshot read) | No | No | Yes | Yes | No |
Geospatial datatype support | Yes | No | Yes | Yes | Yes |
Geospatial indexing support | Yes | No | No | No | No |
B-tree indexes | Yes | Yes | Yes | No | Yes |
Hash indexes | No | Yes | No | No | Yes |
Full-text search indexes | Yes | No | No | No | No |
Clustered indexes | No | No | Yes | No | No |
Data caches | No | N/A | Yes | No | Yes |
Index caches | Yes | N/A | Yes | No | Yes |
Compressed data | Yes [b] | No | No | Yes | No |
Encrypted data [c] | Yes | Yes | Yes | Yes | Yes |
Cluster database support | No | No | No | No | Yes |
Replication support [d] | Yes | Yes | Yes | Yes | Yes |
Foreign key support | No | No | Yes | No | No |
Backup / point-in-time recovery [e] | Yes | Yes | Yes | Yes | Yes |
Query cache support | Yes | Yes | Yes | Yes | Yes |
Update statistics for data dictionary | Yes | Yes | Yes | Yes | Yes |
[a] EB = exabyte (1024 * 1024 terabyte) [b] Compressed MyISAM tables are only supported when using the compressed row format. Tables using the compressed row format with MyISAM are read only. [c] Implemented in the server (via encryption functions), rather than in the storage engine. [d] Implemented in the server, rather than in the storage engine [e] Implemented in the server, rather than in the storage engine |
User Comments
Add your own comment.