Storage engines are MySQL components that handle the SQL operations for different table types. Most of the time devs ignore and just accept the default engine. This can create issues when the database grows.

I will look at the two common Mysql storage engines
InnoDB
In most cases this is the default storage engine, I am on Mysql 5.7.
It offers ACID (atomicity, consistency, isolation, durability), Row-level locking, FOREIGN KEY constraints, and multi-user concurrency.
When to use InnoDB
- When processing a large amount of data
- When there is a need for multi-user concurrency
- When data integrity is a need through the use of FK constraints
MyISAM
It offers full-text search indexes and table-level locking
This is used in read-heavy and mostly read applications such as data warehousing and web applications that don’t need transaction support or ACID compliance.