InnoDB 1.1 combines the familiar reliability and performance of the InnoDB storage engine, with new performance and usability enhancements. InnoDB 1.1 includes all the features that were part of the InnoDB Plugin for MySQL 5.1, plus new features specific to MySQL 5.5 and higher.
Beginning with MySQL version 5.5, InnoDB is the default storage
engine, rather than MyISAM. As of MySQL 5.5, issuing the
CREATE TABLE statement without an
ENGINE= clause creates an
Key advantages of InnoDB tables include:
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.
You can freely mix
InnoDB tables with tables
from other MySQL storage engines, even within the same
statement. For example, you can use a
join operation to combine data
MEMORY tables in a single query.
InnoDB has been designed for CPU efficiency
and maximum performance when processing large data volumes.
Table 14.1 InnoDB Storage Engine Features
|Storage limits||64TB||Transactions||Yes||Locking granularity||Row|
|MVCC||Yes||Geospatial data type support||Yes||Geospatial indexing support||Yes[a]|
|B-tree indexes||Yes||T-tree indexes||No||Hash indexes||No[b]|
|Full-text search indexes||Yes[c]||Clustered indexes||Yes||Data caches||Yes|
|Index caches||Yes||Compressed data||Yes[d]||Encrypted data[e]||Yes|
|Cluster database support||No||Replication support[f]||Yes||Foreign key support||Yes|
|Backup / point-in-time recovery[g]||Yes||Query cache support||Yes||Update statistics for data dictionary||Yes|
[a] InnoDB support for geospatial indexing is available in MySQL 5.7.5 and higher.
[b] InnoDB utilizes hash indexes internally for its Adaptive Hash Index feature.
[c] InnoDB support for FULLTEXT indexes is available in MySQL 5.6.4 and higher.
[d] Compressed InnoDB tables require the InnoDB Barracuda file format.
[e] Implemented in the server (via encryption functions), rather than in the storage engine.
[f] Implemented in the server, rather than in the storage engine.
[g] Implemented in the server, rather than in the storage engine.
InnoDB storage engine maintains its own
buffer pool for caching data
and indexes in main memory. When the
innodb_file_per_table setting is
enabled, each new
InnoDB table and its associated
indexes are stored in a separate file. When the
innodb_file_per_table option is
InnoDB stores all its tables and
indexes in the single system
tablespace, which may consist of several files (or raw disk
InnoDB tables can handle large
quantities of data, even on operating systems where file size is
limited to 2GB.
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.
The InnoDB storage engine in MySQL 5.5 releases
includes a number performance improvements that in MySQL 5.1 were
only available by installing the InnoDB Plugin. This latest InnoDB
(now known as InnoDB 1.1) offers new features, improved performance
and scalability, enhanced reliability and new capabilities for
flexibility and ease of use. Among the top features are Fast Index
Creation, table and index compression, file format management, new
INFORMATION_SCHEMA tables, capacity tuning,
multiple background I/O threads, multiple buffer pools, and group
commit. For more information about these features, see
Section 14.1.1, “Features of the InnoDB Storage Engine”.
For additional information about
enhancements and new features in MySQL 5.5, also refer
InnoDB-related terms and definitions, see
A forum dedicated to the
engine is available here:
InnoDB is published under the same GNU GPL
License Version 2 (of June 1991) as MySQL. For more information
on MySQL licensing, see