What Are the Best MySQL Storage Engines?

MySQL is arguably the most popular relational database management system which uses Structured Query Language. This application is used for a huge variety of applications which include data warehousing, logging applications, and e-commerce. The application is used by web developers as a web database with a capacity to offer single information record or an inventory of many available products. So, what are the best MySQL storage engines to use?

What Are the Best MySQL Storage Engines?

Storage engines come in handy when you need to create, read and update data from a database. MySQL supports both transactional and non-transactional mysql storage engine types. Here is a list of the best mysql storage engines.

MyISAM Storage Engine

Before MySQL 5.5 was launched, the default storage engine for MySQL was MyISAM. MyISAM is, therefore, supported by all MySQL configurations, and has extensions which have features such as B-tree indexes, Backup/point-in-time recovery, compressed and encrypted data, geospatial data type and indexing support, hash indexes and index caches among others. The engine has a storage limit of 256 Terabytes and offers update statistics for their data dictionary.

Memory Storage Engine

This storage engine was previously known as HEAP. It operates by way of creating purpose tables for content stored in the computer memory. The data that is stored on these engines are vulnerable to crashes, and you should use the tables as a temporary work area or read-only cache for data stored in tables elsewhere. The features offered by the storage engine includes: encrypted data, pint-on-time recovery, hash indexes and update statistics for your data dictionary. Memory is one of those storage engines useful for certain types of data only and should, therefore, be used for these applications.

InnoDB storage engine

This is the default storage engine for MySQL 5.5. The engine has many features that can work to your advantage. First, it follows the ACID model which has many capabilities to protect user data. Then, it features row-level locking and the tables arrange data on your table in a manner that optimized common queries. Your data integrity is protected by foreign-key referential integrity constraints. If you want to get started with InnoDB, as one of your preferred mysql storage engines, this article from Oracle will be a great resource.

The CSV Storage Engine

The CSV engine is a little different from the others in that it stores data in comma-separated values format as opposed to the table format used by the other three engines. The engine is always compiled into MySQL server. The format is convenient to work with as it can be read and also written by applications such as Microsoft Excel or StarOffice Calc. When using this storage engine, it is important to note that you might not be in a position to index, partition or perform transactions. These are some of the circumstances when to use CSV Storage engine.


The right storage to use with MySQL depends on the specific objective that you have in mind. It is best to look for answers to the question and get the application that concurs with your needs as this will put you in a position to select the application that best suits your needs. Other alternatives include the ARCHIVE storage engine, BLACKHOLE storage engine, MERGE storage engine, and the FEDERATED storage engine.

Which MySQL storage engine do you prefer?


This site uses Akismet to reduce spam. Learn how your comment data is processed.