MySQL 5.7 Reference Manual Including MySQL NDB Cluster 7.5 and NDB Cluster 7.6
InnoDB
is a general-purpose storage engine that
balances high reliability and high performance. In MySQL
5.7, InnoDB
is the default MySQL
storage engine. Unless you have configured a different default
storage engine, issuing a CREATE
TABLE
statement without an ENGINE
clause creates an InnoDB
table.
Its DML operations follow the ACID model, with transactions featuring commit, rollback, and crash-recovery capabilities to protect user data. See Section 14.2, “InnoDB and the ACID Model”.
Row-level locking and Oracle-style consistent reads increase multi-user concurrency and performance. See Section 14.7, “InnoDB Locking and Transaction Model”.
InnoDB
tables arrange your data on disk to
optimize queries based on primary keys. Each
InnoDB
table has a primary key index called
the clustered index that organizes the data to minimize I/O for
primary key lookups. See Section 14.6.2.1, “Clustered and Secondary Indexes”.
To maintain data integrity, InnoDB
supports
FOREIGN KEY
constraints. With foreign keys,
inserts, updates, and deletes are checked to ensure they do not
result in inconsistencies across related tables. See
Section 13.1.18.5, “FOREIGN KEY Constraints”.
Table 14.1 InnoDB Storage Engine Features
Feature | Support |
---|---|
B-tree indexes | Yes |
Backup/point-in-time recovery (Implemented in the server, rather than in the storage engine.) | Yes |
Cluster database support | No |
Clustered indexes | Yes |
Compressed data | Yes |
Data caches | Yes |
Encrypted data | Yes (Implemented in the server via encryption functions; In MySQL 5.7 and later, data-at-rest encryption is supported.) |
Foreign key support | Yes |
Full-text search indexes | Yes (Support for FULLTEXT indexes is available in MySQL 5.6 and later.) |
Geospatial data type support | Yes |
Geospatial indexing support | Yes (Support for geospatial indexing is available in MySQL 5.7 and later.) |
Hash indexes | No (InnoDB utilizes hash indexes internally for its Adaptive Hash Index feature.) |
Index caches | Yes |
Locking granularity | Row |
MVCC | Yes |
Replication support (Implemented in the server, rather than in the storage engine.) | Yes |
Storage limits | 64TB |
T-tree indexes | No |
Transactions | Yes |
Update statistics for data dictionary | Yes |
To compare the features of InnoDB
with other
storage engines provided with MySQL, see the Storage
Engine Features table in
Chapter 15, Alternative Storage Engines.
For information about InnoDB
enhancements and new
features, refer to:
The InnoDB
enhancements list in
Section 1.3, “What Is New in MySQL 5.7”.
The Release Notes.
For InnoDB
-related terms and definitions, see
the MySQL Glossary.
For a forum dedicated to the InnoDB
storage
engine, see
MySQL
Forums::InnoDB.
InnoDB
is published under the same GNU GPL
License Version 2 (of June 1991) as MySQL. For more information
on MySQL licensing, see
http://www.mysql.com/company/legal/licensing/.