InnoDB

Balancing high reliability and performance, InnoDB is MySQL's default storage engine. See Storage Engines for how it compares to the others.

Advantages of InnoDB include:

FeatureInnoDB
Storage limits64TB
TransactionsYes
Locking granularityRow
MVCCYes
Geospatial data type supportYes
Geospatial indexing supportYes
B-tree indexesYes
T-tree indexesNo
Hash indexesNo (internal adaptive hash index only, not user-visible)
Full-text search indexesYes
Clustered indexesYes
Data cachesYes
Index cachesYes
Compressed dataYes
Encrypted dataYes
Cluster database supportNo
Replication supportYes
Foreign key supportYes
Backup / point-in-time recoveryYes
Query cache supportYes
Update statistics for data dictionaryYes

-- InnoDB is the default engine, but it can be specified explicitly
CREATE TABLE orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    customer_id INT NOT NULL,
    total DECIMAL(10,2) NOT NULL,
    FOREIGN KEY (customer_id) REFERENCES customers(id)
) ENGINE = InnoDB;

-- ACID transaction using InnoDB's row-level locking and MVCC
START TRANSACTION;
UPDATE orders SET total = total - 10.00 WHERE id = 1;
UPDATE orders SET total = total + 10.00 WHERE id = 2;
COMMIT;

-- Detailed engine status, including buffer pool and lock information
SHOW ENGINE INNODB STATUS;