InnoDBStartup Options and System Variables
InnoDBData and Log Files
InnoDBDatabase to Another Machine
InnoDBTransaction Model and Locking
InnoDBTable and Index Structures
InnoDBDisk I/O and File Space Management
InnoDBPerformance Tuning and Troubleshooting
InnoDB is a transaction-safe (ACID compliant)
storage engine for MySQL that has commit, rollback, and
crash-recovery capabilities to protect user data.
InnoDB row-level locking (without escalation to
coarser granularity locks) and Oracle-style consistent nonlocking
reads increase multi-user concurrency and performance.
InnoDB stores user data in clustered indexes to
reduce I/O for common queries based on primary keys. To maintain
InnoDB also supports
FOREIGN KEY referential-integrity constraints.
You can freely mix
InnoDB tables with tables from
other MySQL storage engines, even within the same statement.
InnoDB Storage Engine
|Storage limits||64TB||Transactions||Yes||Locking granularity||Row|
|MVCC||Yes||Geospatial datatype support||Yes||Geospatial indexing support||No|
|B-tree indexes||Yes||Hash indexes||No||Full-text search indexes||No|
|Clustered indexes||Yes||Data caches||Yes||Index caches||Yes|
|Compressed data||Yes[a]||Encrypted data[b]||Yes||Cluster database support||No|
|Replication support[c]||Yes||Foreign key support||Yes||Backup / point-in-time recovery[d]||Yes|
|Query cache support||Yes||Update statistics for data dictionary||Yes|
[a] Compressed InnoDB tables are supported only by InnoDB Plugin.
[b] Implemented in the server (via encryption functions), rather than in the storage engine.
[c] Implemented in the server, rather than in the storage product
[d] Implemented in the server, rather than in the storage product
InnoDB has been designed for maximum performance
when processing large data volumes. Its CPU efficiency is probably
not matched by any other disk-based relational database engine.
InnoDB storage engine maintains its own
buffer pool for caching data and indexes in main memory.
InnoDB stores its tables and indexes in a
tablespace, which may consist of several files (or raw disk
partitions). This is different from, for example,
MyISAM tables where each table is stored using
InnoDB tables can be very large
even on operating systems where file size is limited to 2GB.
The Windows Essentials installer makes
MySQL default storage engine on Windows, if the server being
InnoDB is used in production at numerous large
database sites requiring high performance. The famous Internet news
site Slashdot.org runs on
InnoDB. Mytrix, Inc.
stores more than 1TB of data in
another site handles an average load of 800 inserts/updates per
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/.
A forum dedicated to the
engine is available at http://forums.mysql.com/list.php?22.
Innobase Oy also hosts several forums, available at http://forums.innodb.com.
At the 2008 MySQL User Conference, Innobase announced
availability of an
InnoDB Plugin for MySQL.
This plugin for MySQL exploits the “pluggable storage
engine” architecture of MySQL. As of MySQL 5.4.2, the
InnoDB Plugin is included in MySQL
5.4 releases. It becomes the built-in version of
InnoDB in MySQL Server, replacing the version
previously included as the built-in
engine. The current version of the
Plugin is 1.0.5 and is considered of Release Candidate
InnoDB Plugin offers new features,
improved performance and scalability, enhanced reliability and
new capabilities for flexibility and ease of use. Among the
features of the
InnoDB Plugin are “Fast
index creation,” table and index compression, file format
capacity tuning, multiple background I/O threads, and group
For information about these features, see the
Plugin Manual at
For general information about using
MySQL, see Section 13.6, “The
InnoDB Storage Engine”.
For a specific list of changes in MySQL 5.4.2 compared to earlier 5.4.x releases, see Section C.1.2, “Changes in MySQL 5.4.2 (01 September 2009)”.
InnoDB Hot Backup enables you to back up a
running MySQL database, including
MyISAM tables, with minimal disruption to
operations while producing a consistent snapshot of the
database. When InnoDB Hot Backup is copying
InnoDB tables, reads and writes to both
can continue. During the copying of
tables, reads (but not writes) to those tables are permitted. In
addition, InnoDB Hot Backup supports creating
compressed backup files, and performing backups of subsets of
InnoDB tables. In conjunction with MySQL’s
binary log, users can perform point-in-time recovery.
InnoDB Hot Backup is commercially licensed by
Innobase Oy. For a more complete description of InnoDB
Hot Backup, see
or download the documentation from
You can order trial, term, and perpetual licenses from Innobase